【问题标题】:Uninstall Packages that aren't used by pip卸载 pip 不使用的软件包
【发布时间】:2018-11-08 13:13:22
【问题描述】:

从我开始建立网站的那一天起,我安装了很多包,有时是为了测试一堆代码,有时是为了项目本身(后来我发现它不是需要的包)。但是现在,当我运行pip freeze 时,我有一个软件包列表,我很难卸载未使用的软件包。我即将部署我的网站。

我正在使用最新版本的pip,并运行一个 Django 项目 我有virtualenv python 3.5

的虚拟环境

操作系统:Linux (Ubuntu)

非常感谢你们这些了不起的人!

【问题讨论】:

  • pip uninstall 或创建新的virtualenv并在其中运行项目一一添加包。
  • 这是一个想法,但没有快速的想法吗? @BearBrown
  • 对不起,我不知道。
  • 无论如何我真的很喜欢你的想法@BearBrown,我会同意的
  • 你可以看看pipdeptree,它可以从你安装的包中构建一个依赖树。有了它,您可以列出已显式安装的软件包,而不仅仅是其他软件包的依赖项:pipdeptree | grep -v '^ ',这样您将有更少的软件包需要测试。卸载一个包(使用pip-autoremove 卸载一个包及其所有依赖项),运行测试套件,失败时重新安装,成功时继续下一个包。

标签: python django pip virtualenv


【解决方案1】:

您可以使用需求包卸载

像这样简单地创建/获取您的需求列表:

django
flask
other_packages

将其放入名为 requirements.txt 的文本文件中

然后做

pip uninstall -r requirements.txt

或者在你的情况下

pip3 uninstall -r requirements.txt

【讨论】:

  • 谢谢你的回答,如果我还不知道所有没有使用的包,有没有办法实现呢
  • "pip3 list" 会列出所有安装的包
  • 这不是我想要的,但你的回答让我朝着正确的方向前进。
  • 哦,未使用的软件包,您只需与导入交叉引用并确定不需要的软件包,或者卸载所有内容,然后根据需要重新安装所有内容。
  • "pip uninstall -y -r
猜你喜欢
  • 1970-01-01
  • 2015-08-23
  • 2013-01-12
  • 2018-07-27
  • 2020-05-23
  • 2021-11-16
  • 1970-01-01
  • 2018-06-28
  • 1970-01-01
相关资源
最近更新 更多