在项目本地安装 Python 依赖项

Installing Python Dependencies locally in project

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

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

使用这个命令
pip install -r requirements.txt -t <path-to-the-lib-directory>

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

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


推荐的方法是使用 virtual environment。您可以使用

通过 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

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

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

我建议获取 Anaconda 导航器。

您可以在这里下载:https://www.anaconda.com

A​​naconda 允许您通过图形界面创建虚拟环境。您可以通过 Anaconda 下载任何可用的 pip 包。

那么在创建并添加到您的环境后,您所要做的就是进入您指定的 python 编辑器(我主要使用 Pycharm)并设置虚拟环境的路径当您 select 或更改项目的解释器时。

希望对您有所帮助。