如何重置OS:使用sudo安装Python包的X安装?

时间:2016-03-22 13:48:37

标签: python macos pip virtualenv

想象一下,没有人意识到虚拟环境如何在Python中运行,并使用sudo pip install为OS:X安装了许多软件包。现在他们在管理包版本时遇到了问题。

如果一个人了解虚拟环境,这种情况永远不会发生,但如果一个人在开悟之前就这样做了,那么有人可以如何轻松删除所有 my 他们安装的非虚拟环境包,而不会破坏任何默认安装?

请注意,这包括多个程序(例如nosetests),并不仅限于库。我似乎可以创建一个带有--no-site-packages的虚拟环境,并至少绕过这些包(假设我擦掉了我的PYTHONPATH)。但是我的实际PATH似乎也让我看到了我安装的可执行文件。

1 个答案:

答案 0 :(得分:3)

我的OS基本安装中没有任何内容:X是用pip安装的。这意味着您可以在OSX上从pip卸载所有而无需担心" - 就实际系统性能而言。如果您依赖全球点子套餐,这可能会干扰您的日常活动。

您可以通过查看完整列表来验证已安装的软件包:

pip freeze

返回的所有内容都是用户安装。这意味着你可以安全地"将此作为参数传递给pip uninstall:

pip freeze | xargs sudo pip uninstall -y

将卸载在您的计算机上使用pip安装的所有项目。

您可能会在某些虚拟环境中意外使用这些内容,尤其是当您的PYTHONPATH变量设置为任何本地安装目录时。任何pip安装的可执行包都将在虚拟环境中可见,假设您没有覆盖PATH变量作为虚拟环境的一部分。

在我的情况下,我必须重新安装的唯一项目是virutalenv包装器:

pip install virtualenvwrapper