如何最简单地删除通过pip安装的所有软件包?

18

我希望将我的Python安装还原到基本状态,以便我可以开始使用virtualenv。是否有一种简单的方法仅卸载在安装Python之后安装的软件包?


2
为什么不彻底卸载所有东西,包括Python?另外,最好说明一下你使用的操作系统。 - Dan
4
如果您正在使用Ubuntu,请不要卸载Python,因为有很多依赖于它的东西。 - D Malan
1
@Dan 卸载 Python 不会删除 pip 或它安装的包。 - Cam
这个解决方案对我有效:https://dev59.com/R2gu5IYBdhLWcg3winrU#67379806 - Sathiamoorthy
2个回答

74
以下命令应该可以解决问题:
pip freeze > requirements.txt && pip uninstall -r requirements.txt -y

您也可以跳过创建任何中间文件(例如requirements.txt):

pip uninstall -y -r <(pip freeze)

1
只是作为扩展补充,pip3 uninstall -y -r <(pip3 freeze) - Vinny
这个太有效了!不要在你的基本conda环境中运行它,因为它会删除一些conda自身所需的东西。 - someone

13

执行以下操作:

  1. 将所有pip软件包存储在requirements.txt文件中

python -m pip freeze > requirements.txt
  • 删除在 requirements.txt 中被提及的所有 pip 包。

  • python -m pip uninstall -r requirements.txt
    

    当我这样做时,它抛出了一个致命的Python错误Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding,说明PYTHONHOME和PYTHONPATH未设置。 - Ipvikukiepki-KQS
    @Naras-KS 这可能会对你有所帮助:(https://dev59.com/RYvda4cB1Zd3GeqPetd2) - sahasrara62
    1
    感谢提供的信息。即使我手动指定了相应路径到环境变量中,错误仍然存在。因此,我已经卸载并重新安装了Python @sahasrara62。 - Ipvikukiepki-KQS
    我建议您创建一个新问题,说明您的问题,这样其他人可以更好地帮助您。 - sahasrara62

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