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


当前回答

如果你只想列出在virtualenv中使用的包,请使用:

pip freeze -l > requirements.txt 

其他回答

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

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

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

$ ./.venv/bin/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

因为大多数使用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

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

pipenv lock --requirements