如何自动点子安装未找到的所有模块?

moa*_*lee 2 python pip

如果您的Python项目没有requirements.txt-您可能需要运行该项目,请检查ModuleNotFoundError,安装模块,然后重复。

如何立即安装所有缺少的模块?

Nat*_*ger 7

无论是谁管理项目需求,这都是一个大问题。据我所知,不存在简单的解决方案。一种解决方法是使用grep手动查找和检查导入。它很粗糙,但是有效。

grep -r --include=\*.py 'import' YOUR_DIR
Run Code Online (Sandbox Code Playgroud)

好吧,现在我在@perplexabot的答案上毫不留情地构建,它将忽略本地模块级别的导入,并过滤掉非顶级第三方的导入:

grep -hEr --include=\*.py '^import|^from' <path/to/dir> | cut -d' ' -f2 | awk -F'.' '{print $1}' | sort -u -t' ' | grep -v <path/to/dir> > requirements.txt
Run Code Online (Sandbox Code Playgroud)


Per*_*bot 5

在@NateDellinger的答案之上无耻地构建。使用此命令创建一个requirements.txt文件:

grep -hEr --include=\*.py '^import|^from' <path/to/dir> | cut -d' ' -f2 | sort -u > requirements.txt
Run Code Online (Sandbox Code Playgroud)

然后做一个 pip install -r requirements.txt

  • 哈哈,那太好了。仍然需要一些手动管理,因为它将包括内部软件包导入和非顶级第三方导入。为了好玩,我在我的一个项目上运行了它,并得到了诸如“ werkzeug.exceptions”之类的东西。我想象通过一些额外的工作,您可以修剪掉非顶级导入,并排除在&lt;path / to / dir&gt;下的导入:) (2认同)