当我运行pip freeze > requirements.txt
时,似乎包含了所有已安装的软件包。 出现是记录在案的行为。
但是,我做错了,因为现在包含了Django等与Django无业务的项目。
如何获得此项目的要求?或者将来如何安装包含pip
的软件包以用于此项目。我想我错过了virtualenv
。
答案 0 :(得分:37)
答案 1 :(得分:4)
我同时尝试了pipreqs
和pigar
,发现pigar
更好,因为它还生成有关使用位置的信息,并且还有更多选择。
答案 2 :(得分:3)
我使用此命令
pip freeze -r requirements.txt | grep -B100 "pip freeze" | grep -v "pip freeze"
当我运行pip freeze -r requirements.txt
时,输出类似于
APScheduler==3.2.0
Eve==0.6.4
Eve-Elastic==0.3.8
## The following requirements were added by pip freeze:
arrow==0.8.0
Cerberus==0.9.2
我有一个像这样的需求文件
APScheduler
Eve
Eve-Elastic
所以我得到了这个输出,并grep
删除了我不想要的依赖项。
首先将其输出到文件
pip freeze -q -r requirements.txt | grep -B100 "pip freeze" | grep -v "pip freeze" > requirements-froze.txt
这将仅输出版本为
的库APScheduler==3.2.0
Eve==0.6.4
Eve-Elastic==0.3.8
然后替换需求文件
mv requirements.txt requirements.txt
答案 3 :(得分:1)
这是基于之前评论的简化版本:https://stackoverflow.com/a/40026169/4052041
mv requirements.txt requirements.txt.bak
pip freeze -q -r requirements.txt.bak | awk '/.*pip freeze.*/ {exit} {print}' > requirements.txt
答案 4 :(得分:0)
如果您使用的是Linux,请使用 sed
// vscode and my cmd
project-name/cd android && ./gradlew signingReport
// other
project-name/cd android && ./gradlew signingReport
答案 5 :(得分:0)
我在使用 pip freeze
时遇到了同样的问题。就我而言,问题是我在没有激活项目虚拟环境的情况下运行了 pip freeze
。我激活了虚拟环境,pip freeze > requirements.txt
运行良好。
因此请确保通过在 Windows 上运行 <virtualenv folder name>\Scipts\activate
或在 Linux 上运行 source <virtualenv folder name>\bin\activate
来激活您的项目虚拟环境。
如果 virtualenv
可以访问全局访问,您应该使用 pip freeze
或 -l
选项运行 --local
,pip freeze -l
根据 {{ 3}}
-l, --local
如果在具有全局访问权限的virtualenv中,不要输出全局安装的包。