Python 根据使用的导入生成需求

Python 根据使用的导入生成需求,python,pip,requirements.txt,Python,Pip,Requirements.txt,是否有任何工具可以根据项目中实际使用的导入生成需求文件,而不仅仅是pip冻结的输出 理由,在我看来: 启动项目时,使用pip freeze生成需求非常简单。然而,当您的项目增长时,您添加了一些新的依赖项,而其他依赖项则消失了。这已经不太方便了 pip冻结-r旧需求>新需求 ,因为您已经在virtualenv中安装了一些工具,这些工具非常方便,但对于需求(我指的是ipython或其他此类工具),所以您必须手动更正需求,并清理它们。此外,当您的项目不再需要某个库时,您很容易忘记从需求中删除该库,一年

是否有任何工具可以根据项目中实际使用的导入生成
需求
文件,而不仅仅是pip冻结的输出

理由,在我看来:

启动项目时,使用
pip freeze
生成
需求
非常简单。然而,当您的项目增长时,您添加了一些新的依赖项,而其他依赖项则消失了。这已经不太方便了

pip冻结-r旧需求>新需求


,因为您已经在virtualenv中安装了一些工具,这些工具非常方便,但对于
需求
(我指的是ipython或其他此类工具),所以您必须手动更正
需求
,并清理它们。此外,当您的项目不再需要某个库时,您很容易忘记从
需求中删除该库,一年后,您已经记不起它为什么存在,也不会明确地删除它。

我相信这就是您正在寻找的:

如果你在*ix(或Cygwin)上,也许:'

cat *.py | egrep '^import' | sed -e 's/^import //' -e 's/#.*$//' -e 's/ *$//' | sort | uniq
我遇到了这个软件包,它完全符合我的要求。

那么“从软件包导入xxx”行呢?