首页 > 解决方案 > 通过 sh 脚本自动创建 pyenv

问题描述

我正在运行一个项目,该项目使用 pip 和 requirements.txt 文件来安装和跟踪一些依赖项。我想编写一些 sh ​​脚本来运行、构建和测试应用程序。对于初学者,我想要一种方法来检查当前文件夹是否在 pyenv 中,如果不是,则创建一个来包含应用程序,而不是弄乱其他人的依赖项。另外,如果 requirements.txt 是一种好方法,并且如果有一种方法可以像使用节点包一样跟踪已安装的版本,我想就跟踪这种依赖关系的最佳方法提出意见。

标签: pipdependenciesshpyenvrequirements.txt

解决方案


使用Pipenv。这是跟踪依赖关系的更好方法,requirements.txt它使用 Pyenv 自动安装项目所需的 Python 版本。

从网站:

Pipenv 试图解决的问题是多方面的:

  • 您不再需要单独使用pipvirtualenv。他们一起工作。
  • 管理requirements.txt文件可能会出现问题,因此 Pipenv 使用PipfilePipfile.lock将抽象依赖声明与最后测试的组合分开。
  • 哈希值无处不在,总是如此。安全。自动暴露安全漏洞。
  • 强烈鼓励使用最新版本的依赖项,以最大程度地减少因组件过时带来的安全风险。
  • 让您深入了解您的依赖关系图(例如$ pipenv graph)。
  • .env通过加载文件简化开发工作流程。

[...]

Pipenv 功能

  • 启用真正确定性的构建,同时轻松地仅指定您想要的内容。
  • 生成并检查文件哈希以查找锁定的依赖项。
  • pyenv如果可用,自动安装所需的 Python 。
  • 通过查找Pipfile.
  • Pipfile如果不存在,则自动生成一个。
  • 在标准位置自动创建一个virtualenv
  • Pipfile在安装或卸载包时自动将包添加/删除。
  • 自动加载.env文件(如果存在)。

推荐阅读