假设有人不了解Python中的虚拟环境,使用sudo pip install
在OS:X上安装了很多包。现在他们面临管理包版本的问题。
如果有人在学习之前这样做了,想要轻松地删除所有非虚拟环境中安装的包,而不破坏任何默认安装的内容,该怎么办呢?
请注意,这包括多个程序(如nosetests),而不仅限于库。似乎我可以使用--no-site-packages
创建一个虚拟环境,至少可以解决包的问题(假定我清除我的PYTHONPATH)。但是实际的PATH似乎也让我看到了我安装的可执行文件。
假设有人不了解Python中的虚拟环境,使用sudo pip install
在OS:X上安装了很多包。现在他们面临管理包版本的问题。
如果有人在学习之前这样做了,想要轻松地删除所有非虚拟环境中安装的包,而不破坏任何默认安装的内容,该怎么办呢?
请注意,这包括多个程序(如nosetests),而不仅限于库。似乎我可以使用--no-site-packages
创建一个虚拟环境,至少可以解决包的问题(假定我清除我的PYTHONPATH)。但是实际的PATH似乎也让我看到了我安装的可执行文件。
我的OS:X基础安装中没有任何使用pip安装的内容。这意味着,您可以在OSX上卸载pip的所有内容而不必“担心”-就实际系统性能而言。但如果您依赖全局pip包,则可能会影响您的日常活动。
您可以查看完整列表以验证已安装的软件包:
pip freeze
这个返回的是用户安装包,也就是说你可以“安全地”将其作为参数传递给pip uninstall:
pip freeze | xargs sudo pip uninstall -y
这将卸载您机器上使用pip安装的所有项目。
如果您的PYTHONPATH
变量设置为本地安装目录之一,则可能会在某些虚拟环境中意外使用它们。 假设您没有在虚拟环境中覆盖PATH
变量,那么pip安装的任何可执行软件包也将在虚拟环境中可见。
在我的情况下,我只需要重新安装virutalenv包装器:
pip install virtualenvwrapper
有时候你可能会在没有使用sudo的情况下安装了Python包,并希望清除基本的Python安装。
这种情况下,可以像这样操作:
python -m pip freeze | xargs python -m pip uninstall -y
如果有多个Python版本需要清理,只需分别使用相应版本的命令,将python
替换为python3.x
(x-所需版本)即可。