尝试在 Mac OS 10.5.8 上将 Python 升级到 3.0

Geu*_*uis 2 python macos

我在 Mac 上升级 Python 时遇到了一些问题。对于我的第一次尝试,我从http://python.org/download/mac/下载并安装了 2.6.4 dmg MacPython 安装程序。这确实安装了 2.6.4,当我从终端运行“python”时,它说的是那个版本。

但是,我还有一个我正在做的测试脚本:

import os, json
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误,说找不到“json”库。在脚本中,我在顶部包含了这个 shebang 以使其从终端运行:

#! /usr/bin/python
Run Code Online (Sandbox Code Playgroud)

我怀疑直接来自 Apple 的指向 Python 2.5 的符号链接没有被 2.6.4 安装程序更新,所以直接从终端“python”运行新版本,但我的 test.py 文件正在执行 2.5。

因此,在这一点上,我阅读了其他一些关于此升级的 SO 页面,人们建议使用并排放置的 3rd 方软件包,以免破坏 v2.5 上的操作系统级依赖关系。然后我发现 ActivePython 提供了一个 3.x 安装程序(也在另一个 SO 页面上推荐)。我安装了它,但 'python' 仍然显示 2.6.4 并且我的脚本仍然找不到 json 库。

最后,我对如何安全地删除 MacPython(我上面提到的 Mac 安装程序)感到困惑。页面上有一句话说要删除一些对 Mac 上的 Python 来说似乎非常重要的东西。引用:

  • 应用程序文件夹中的 MacPython 2.5 文件夹。在这里您可以找到 IDLE,它是官方 Python 发行版的标准部分的开发环境;PythonLauncher,它处理来自 Finder 的双击 Python 脚本;以及“Build Applet”工具,它允许您将 Python 脚本打包为系统上的独立应用程序。
  • 一个框架/Library/Frameworks/Python.framework,其中包括 Python 可执行文件和库。安装程序将此位置添加到您的 shell 路径。要卸载 MacPython,您只需删除这三样东西即可。指向 Python 可执行文件的符号链接位于/usr/local/bin/.

所以现在我安装了 3 个版本的 Python,但我不知道如何解决这个愚蠢的问题。

Ned*_*ily 5

首先,/usr/bin/python应该始终指向 Apple 提供的 python 和 10.5,这意味着 python2.5。不要改变这个!

当您安装 python.org python2.6 时,默认情况下它会安装符号链接,/usr/local/bin/因此调用它的一种方式是,/usr/local/bin/python2.6或者很可能只是python2.6. 由于json在 python 2.6 中被添加到 python 库中,你会发现 json 模块在那里。解决您的原始问题的一种方法是将 shebang 行更改为:

#!/usr/bin/env python2.6
Run Code Online (Sandbox Code Playgroud)

而且默认情况下,python.org安装程序更新壳轮廓到它的bin目录添加到您的$PATH,这就是为什么打字python可能现在所调用python2.6

你不应该需要,但如果你真的想删除 python.org 2.6 的所有痕迹:

  1. 删除您.bash_profile和/或.profile通过恢复到.bash_profile.pysave和末尾的多余行.profile.pysave

  2. 删除python2.6框架目录:

    须藤 rm -r /Library/Frameworks/Python.framework/Versions/2.6

  3. 删除 IDLE 和 /Applications 中安装的附加程序:

    须藤 rm -r /Applications/Python\ 2.6

转向 Python 3 也没有错。目前,Python 2 和 Python 3 都在积极开发中。在档案中搜索各种优缺点。但是,不应使用 Python 3.0。毫不奇怪,Python 3.0 有许多严重的首次错误,因此随着 Python 3.1 的发布,3.0 的支持立即被取消。