代码之家  ›  专栏  ›  技术社区  ›  Geuis

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

  •  1
  • Geuis  · 技术社区  · 15 年前

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

    但是,我也有一个测试脚本,我在其中执行以下操作:

    import os, json
    

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

    #! /usr/bin/python
    

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

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

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

    * A MacPython 2.5 folder in your Applications folder. In here you find IDLE, the development environment that is a standard part of official Python distributions; PythonLauncher, which handles double-clicking Python scripts from the Finder; and the “Build Applet” tool, which allows you to package Python scripts as standalone applications on your system.
    * A framework /Library/Frameworks/Python.framework, which includes the Python executable and libraries. The installer adds this location to your shell path. To uninstall MacPython, you can simply remove these three things. A symlink to the Python executable is placed in /usr/local/bin/.
    

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

    1 回复  |  直到 15 年前
        1
  •  4
  •   Ned Deily    15 年前

    第一, /usr/bin/python 应该始终指向苹果提供的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
    

    另外,默认情况下,python.org安装程序会更新shell配置文件,将其bin目录添加到 $PATH ,这就是为什么打字 python 可能现在调用 Python 2.6 .

    您不需要这样做,但是如果您真的想删除python.org 2.6的所有跟踪:

    1. 删除您的 .bash_profile 和/或 .profile 通过恢复到 .bash_profile.pysave .profile.pysave .

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

      sudo rm-r/library/frameworks/python.framework/versions/2.6

    3. 删除空闲和/应用程序中安装的附加程序:

      sudo rm-r/applications/python\2.6

    另外,继续使用Python3也没有什么问题。目前,python 2和python 3都在积极开发中;在档案中搜索各种优缺点。但是,不应使用python 3.0。对于一些重要的东西来说,并不奇怪,python 3.0有许多严重的第一次错误,因此,随着python 3.1的发布,3.0支持被立即放弃。