卸载未被pip使用的软件包

3
自从我开始建立我的网站,我安装了许多包,有时为了测试一堆代码,有时则是为了项目本身(后来我发现那些包并不需要)。但现在,当我运行pip freeze时,我会得到一个包列表,这让我很难卸载未使用的包。我正准备部署我的网站。
我正在使用最新版本的pip,并运行一个Django项目。我有一个虚拟环境,其中包括virtualenvpython 3.5
操作系统:Linux(Ubuntu)
非常感谢您,了不起的人们!

pip uninstall 或者创建新的虚拟环境,逐个添加包并在其中运行项目。 - Brown Bear
这是一个想法,但没有快速的解决方案。@BearBrown - user9865749
抱歉,我不知道。 - Brown Bear
无论如何,我真的很喜欢你的想法@BearBrown,我会采纳它。 - user9865749
1
你可以看一下 pipdeptree,它可以从你安装的包中构建依赖树。使用它,你可以列出那些明确安装的包,而不仅仅是其他包的依赖项:pipdeptree | grep -v '^ ',这样你就会有更少的包需要测试。卸载一个包(使用 pip-autoremove 卸载一个带有所有依赖项的包),运行测试套件,在失败后重新安装,成功后继续下一个包。 - hoefling
显示剩余2条评论
1个回答

0

您可以使用要求包进行卸载

只需创建/获取您的要求列表,如下所示:

django
flask
other_packages

将其放入名为 requirements.txt 的文本文件中。
然后执行。
pip uninstall -r requirements.txt

或者在你的情况下

pip3 uninstall -r requirements.txt

谢谢您的回答。如果我还不知道哪些包未被使用,有什么方法可以实现呢? - user9865749
"pip3 list" 将列出所有已安装的软件包。 - Marc Frame
未使用的软件包,您只需与导入进行交叉引用,并确定不需要的软件包。或者卸载所有软件包,然后根据需要重新安装它们。 - Marc Frame
"pip uninstall -y -r <(pip freeze)" 将卸载所有的包。 - Marc Frame
1
我明白了,但我正在寻找的是卸载在我的项目中没有使用的软件包的方法,因为我安装了很多,现在很难知道哪个软件包是无用的。 - user9865749
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接