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


当前回答

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

pipenv lock --requirements

其他回答

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

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

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

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

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

如果你在你的系统中安装了很多依赖项,并且你需要一个特定项目的requirements.txt,你可以安装第一个pipreqs:

$ pip install pipreqs

并在项目文件夹下执行以下命令。

$ pipreqs

该命令将为特定项目生成requirements.txt文件。

Python 3的最佳方式是:

pip3 freeze > requirements.txt

这对我很管用……

简单的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