【问题标题】:Cleaning up and managing Python versions on MacOSX在 MacOS 上清理和管理 Python 版本
【发布时间】:2019-06-10 19:20:21
【问题描述】:

随着时间的推移,我已经设法在我的 Mac 上“积累”了各种版本的 Python。大多数是因为要么是操作系统的一部分,要么是作为另一个依赖 Python 的“解决方案”的一部分安装的。实际上,我的系统上现在有 Python 2.6、3.6 和 3.7,而且 pip 似乎以某种方式与 3.7 相关联,而 pip3 以某种方式与 3.6 相关联。

我怎样才能安全地删除所有 Python 版本,只让最新版本运行并正确“链接”与 pip 之类的东西?

也许我应该添加我今天发布这个问题的原因,尽管所有版本的“混乱”已经困扰了我一段时间。

我的一个脚本需要请求,当我尝试对 SSL URL 使用它时,我收到臭名昭著的“ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败 (_ssl.c:841)”错误。无论我尝试什么(更新/安装 certifi 或运行 Install Certificates.command) - 我的脚本在这里一直失败,我怀疑这仅仅是因为运行命令或更新 certifi 不会改变“正在运行”的 python...

【问题讨论】:

  • 如果你运行 type piptype pip3type pythontype python3 它会告诉你它实际运行的是什么 - 即它是别名还是 homebrew 包,或 Apple 包。
  • pip、python 和 python 3 似乎都很好地“链接”到我的 Anaconda 安装,但 pip3 似乎指向另一个框架 - 有没有办法我也可以“指向” pip3 到 Anaconda 的版本蟒蛇?
  • 对不起,我不使用 Anaconda,也不想告诉你任何不正确的事情。我想如果你在你的问题下点击edit 并添加我建议的所有各种type 命令的输出,我们将是为你提供解决方案的一半,其他人可以帮助你解决另一半:-)

标签: python macos


【解决方案1】:

您可以查看此Stack Overflow thread 以帮助您查找/删除您的 python 版本。

在您的系统上拥有多个 python 版本是很常见/正常的,它们只需要正确设置即可。

我强烈建议使用pyenv 管理多个 python 版本,它使它们之间的切换非常容易(本地和全局),并将它与您正在处理的每个项目的virtual environment 结合使用。

【讨论】:

  • 虚拟环境的管理通过pyenv-virtualenv plugin很好地集成到pyenv中。
  • 所以我现在尝试安装 pyenv,但我只是对所有命令感到更加困惑,而且似乎我最好擦除所有 Python 痕迹(除了那些来的东西使用 MacOS),并通过全新安装 Anaconda 重新启动,因为 UI 对我来说似乎很直观。仍在尝试按照上面建议的线程尝试删除旧/其他版本而不杀死我的机器...
  • 好的,删除了我所有的“用户”环境,现在似乎“更好”了——我抱怨证书的请求的根本问题我已经通过在请求中添加 verify=False 标志来解决打电话。
最近更新 更多