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

end*_*and 8 python macos pip virtualenv

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

如果一个人理解虚拟环境时,这永远不会发生,但如果这样做之前是开明的,怎么可能有人很容易地删除所有已安装了非虚拟环境中的软件包,而不会破坏任何默认安装?

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

end*_*and 5

我的 OS:X 基本安装中没有任何东西是用 pip 安装的。这意味着您可以从 OSX 上的 pip卸载所有内容而无需“担心”——就实际系统性能而言。如果您依赖全局 pip 包,这可能会干扰您的日常活动。

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

pip freeze
Run Code Online (Sandbox Code Playgroud)

这返回的一切都是用户安装。这意味着您可以“安全地”将其作为参数传递给 pip uninstall:

pip freeze | xargs sudo pip uninstall -y
Run Code Online (Sandbox Code Playgroud)

这将卸载您机器上使用 pip安装的所有项目。

您可能会不小心在某些虚拟环境中使用这些,特别是当您的PYTHONPATH变量设置为任何本地安装目录时。任何 pip 安装的可执行包也将在虚拟环境中可见,假设您没有将PATH变量覆盖为虚拟环境的一部分。

就我而言,我必须重新安装的唯一项目是 virutalenv 包装器:

pip install virtualenvwrapper
Run Code Online (Sandbox Code Playgroud)