有时我从github下载python源代码,不知道如何安装所有的依赖项。如果没有requirements.txt文件,我必须手工创建它。 问题是: 给定python源代码目录,是否有可能从导入部分自动创建requirements.txt ?


当前回答

或者如果你使用的是virtualenv,你可以运行这个命令来生成一个requirements.txt

$ ./.venv/bin/pip freeze > requirements.txt

其他回答

在我的例子中,我使用Anaconda,所以在我的环境中从conda终端运行以下命令解决了这个问题,并自动为我创建了这个requirements.txt文件:

conda list -e > requirements.txt

这是从这个Github链接pratos/condaenv.txt

如果看到错误,并且您正在使用anaconda,请尝试使用.yml选项:

conda env export > <environment-name>.yml

供其他人使用该环境,或者如果您正在另一台机器上创建新环境:

conda env create -f <environment-name>.yml

.yml选项在这里找到

建议使用Pipenv或其他工具来改进开发流程。

pip3 freeze > requirements.txt  # Python3
pip freeze > requirements.txt  # Python2

如果您不使用虚拟环境,pigar将是一个很好的选择。

我盲目地遵循公认的使用答案 Pip3冻结> requirements.txt

它生成了一个巨大的文件,其中列出了整个解决方案的所有依赖项,这不是我想要的。

因此,您需要弄清楚您试图生成什么样的requirements.txt。

如果您需要一个包含所有依赖项的requirements.txt文件,那么可以使用pip3

pip3 freeze > requirements.txt

但是,如果您想生成一个最小的requirements.txt,它只列出您需要的依赖项,那么可以使用pipreqs包。如果您在项目中的每个组件级别都有大量的requirements.txt文件,而在解决方案范围级别上没有一个文件,那么这将特别有用。

pip install pipreqs
pipreqs [path to folder]
e.g. pipreqs .
     pipreqs . --force --ignore=tests (Overwrites exisiting requirements.txt, ignores the tests directory)

Python 3的最佳方式是:

pip3 freeze > requirements.txt

这对我很管用……

因为大多数使用pipreqs的答案对我来说都不管用。以下是我的答案。

生成requirements.txt文件:

pip install pipreqs

python -m  pipreqs.pipreqs --encoding utf-8  /path/to/project

我更喜欢使用pipreqs而不是pip freeze,因为pip freeze保存了环境中的所有包,包括那些在当前项目中不使用的包。但是,pipreqs只保存您在项目中使用的那些。

安装需求使用:

pip3 install -r requirements.txt