在项目本地安装 Python 依赖

新手上路,请多包涵

我来自 NodeJS 并学习 Python,并且想知道如何在项目本地的 requirements.txt 文件中正确安装包。

对于节点,这是通过 package.json 通过 npm install 管理和安装包来完成的。但是,Python 项目的惯例似乎是将包添加到名为 lib 的目录中。当我执行 pip install -r requirements.txt 我认为这会在我的计算机上进行全局安装,类似于节点 npm install -g 全局安装。如何将我的 requirements.txt 文件的依赖项安装到名为 lib 的文件夹中?

原文由 henhen 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

使用这个命令

pip install -r requirements.txt -t <path-to-the-lib-directory>

原文由 sahasrara62 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果您希望为特定目的(例如 AWS Lambda)在特殊(非标准)本地文件夹中安装依赖项,请参阅此问题: 在当前目录安装 python 包

对于正常的工作流程,以下是在本地安装依赖项的方法(而不是全局安装,相当于 npm i 而不是 Node 中的 npm i -g ):


推荐的方法是使用 虚拟环境。你可以通过 pip 安装 virtualenv

 pip install virtualenv

然后在你的项目目录下创建一个虚拟环境:

 python3 -m venv env # previously: `virtualenv env`

这将创建一个名为 env 的目录(您可以随意命名),它将镜像您的全局 python 安装。在 env/ 中会有一个名为 lib 的目录,它将包含 Python 并将存储您的依赖项。

然后激活环境:

 source env/bin/activate

然后使用 pip 安装依赖项,它们将安装在虚拟环境中 env/

 pip install -r requirements.txt

然后任何时候你返回项目,再次运行 source env/bin/activate 以便可以找到依赖项。

当你部署你的程序时,如果部署的环境是物理服务器,或者虚拟机,你可以在生产机器上按照相同的过程进行。如果部署环境是少数几个无服务器环境之一(例如 GCP App Engine),则提供 requirements.txt 文件就足够了。对于其他一些无服务器环境(例如 AWS Lambda),需要将依赖项包含在项目的根目录中。在这种情况下,您应该使用 pip install -r requirements.txt -t ./

原文由 Henry Woody 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题