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


当前回答

我创建了这个bash命令。

for l in $(pip freeze); do p=$(echo "$l" | cut -d'=' -f1); f=$(find . -type f -exec grep "$p" {} \; | grep 'import'); [[ ! -z "$f" ]] && echo "$l" ; done;

其他回答

创建requirement.txt:

对于Python 3版本命令为:

pip3 freeze > requirements.txt

对于Python 2版本命令为:

pip freeze > requirements.txt 

让安装:

对于Python 3版本命令为:

pip3 install -r requirements.txt

对于Python 2版本命令为:

pip install -r requirements.txt

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

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

这不是一个完整的解决方案,但可能有助于在Linux上编译一个候选列表。

grep --include='*.py' -rhPo '^\s*(from|import)\s+\w+' . | sed -r 's/\s*(import|from)\s+//' | sort -u > requirements.txt

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

但我要补充一点:

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

pip install pipreqsnb
pipreqsnb .

[我不是作家]

简单的python方式

要获得标准REQUIREMENTS .txt文件中所有REQUIREMENTS的列表,您可以使用以下命令。

pip freeze > requirements.txt

现在,这将自动创建一个标准需求文件,其中包含安装在相应版本旁边的所有包。

终端打印精美

如果你只是想在终端上得到一个漂亮的打印,你可以使用下面的方法。

pip list

它以漂亮的打印格式列出了所有已安装的包。

自定义的依赖

如果你有一个项目文件夹,比如Github Repo,你想为项目获得一个自定义的requirements.txt,你可以使用下面的包。 https://pypi.org/project/pipreqs/ pipreqs

使用

$ pipreqs /home/project/location
Successfully saved requirements file in /home/project/location/requirements.txt

requirements.txt的内容

wheel==0.23.0
Yarg==0.1.9
docopt==0.6.2