【问题标题】:How can I safely uninstall one version of python without removing others?如何在不删除其他版本的情况下安全地卸载一个版本的 python?
【发布时间】:2017-10-29 02:29:46
【问题描述】:

我继续从 python.org/downloads/ 将最新版本的 python3 下载到我的 mac,但是,我在终端中使用 pip 时遇到了问题,所以我使用 Homebrew 通过命令行安装 python。看起来 Homebrew 安装了 2.x 版本。我也知道我的 mac 已经内置了一些 python2.x 版本。我想删除 2.x 版本,只使用我拥有的 python3.6.1。我怎样才能做到这一点?

【问题讨论】:

  • 老实说,你可能想看看virtualenv

标签: python macos


【解决方案1】:

您的问题有几个方面:调用不同的主要 Python 版本、删除不需要的 Homebrew 安装包以及确定正在使用的安装。


主要的 Python 版本 2 和 3 使用不同的命令名称来调用它们。第一个,python,根据您配置的PATH 环境变量使用系统默认值,应该默认为 Python 2,但并非在所有系统上。参考:https://www.python.org/dev/peps/pep-0394/

相反,显式调用您想要的版本,例如通过运行python3。请注意,虚拟环境(通过运行 python3 -m venv <name>virtualenv 创建)将使用您选择的 Python 版本创建一个隔离的环境,其中python 将始终使用该版本,pip 将安装相对于系统范围的软件包,而不是系统范围,这可能会避免对超级用户 (sudo) 权限的要求。

请注意,Homebrew 可能不会覆盖系统提供的默认版本,需要您更改 PATH 以强制使用 Homebrew 的版本。安装包后 Homebrew 会通知你这类信息,稍后你可以通过运行来获取消息:brew info <package>

卸载 brew 安装的包需要运行:brew uninstall <package>

欲了解更多信息,请运行:brew help


如上所述,识别您正在使用的 Python 以 PATH 开头。要快速识别您在 shell 中键入 pythonpython2python3 时调用的可执行文件,请运行:which python — 这有助于识别您使用的是 Homebrew 安装版本还是系统版本,或者,如果您正在使用来自活动虚拟环境的版本。您还可以使用which 来识别pippip3 命令位置。

这将为您提供等式的第一部分。第二个归结为:Python 认为事物在哪里?调用它然后运行以下命令将告诉您它认为事物(导入)的确切位置:

import sys, print
pprint(sys.path)

这可以帮助追踪与您无法导入刚刚使用pip 安装的软件包相关的问题。


我可以强烈推荐使用virtual environment 将您的项目与系统级包和差异隔离开来。在其中一个中,pythonpip 将基本上始终按预期运行,正如您在创建环境时确定的那样。

【讨论】:

    猜你喜欢
    • 2012-05-14
    • 1970-01-01
    • 1970-01-01
    • 2017-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多