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

其他回答

首先,你的项目文件必须是一个py文件,这是直接的python文件。如果你的文件是ipynb格式,你可以使用下面的代码行将它转换为py类型:

jupyter nbconvert --to=python

然后,您需要从cmd (mac终端)安装pipreqs库。

pip install pipreqs

现在我们可以使用下面的代码创建txt文件。如果你和你的文件在同一路径,你可以写。/。否则,你需要给你的文件路径。

pipreqs ./

or

pipreqs /home/project/location

这将为您的项目创建一个requirements.txt文件。

@Francis说得对- https://stackoverflow.com/a/65728461/1021819

但我要补充一点:

对Jupyter笔记本的额外支持-即.ipynb文件-您现在可以使用https://pypi.org/project/pipreqsnb(与pipreqs相同的语法):

pip install pipreqsnb
pipreqsnb .

[我不是作家]

Pipenv用户可以从项目的Pipfile中生成require .txt文件:

pipenv lock --requirements

在我的例子中,我使用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选项在这里找到

你可以用命令来做。它将创建requirements .txt并自动添加相关模块。

For Unix : pip3 freeze > requirements.txt
For Windos: pip freeze > requirements.txt