在Mac OS X 10.5.8上安装Python 3.1
我用的是Windows系统。我写了一个Python 3.1的脚本,我的朋友用的是Mac,他想运行这个脚本,但我们发现Python 3.1在他的Mac上无法正常工作。我觉得问题出在Python 3.1的框架没有被正确安装。下面是我做的事情,以及我认为问题所在的原因。
我从Python的下载页面下载了Python 3.1.2(这个文件)。我打开了这个文件,然后打开了“Python.mpkg”。接着我按照安装向导的步骤进行安装,并确保在向导中勾选了“Shell profile updater”这个选项。我去到“/Applications/Python 3.1”文件夹,双击了“Update Shell Profile.command”。
接下来,我选择了我写的Python脚本,然后在菜单栏中选择“文件”,再选择“获取信息”。在“打开方式”中,我选择了“PythonLauncher”,这个程序在“/Applications/Python 3.1”文件夹里。然后我点击了“更改全部”按钮。现在我双击我的程序来运行它,但它却是用Python 2.5.1来运行的,而不是Python 3.1。(我对此很确定,因为我写了一个程序来“print(sys.version)”。)
所以我开始想弄清楚为什么“/Applications/Python 3.1”里的“PythonLauncher”会用Python 2.5.1。我打开了“PythonLauncher”,发现“Python脚本”的解释器是“/usr/bin/pythonw”。于是我去到“/usr/bin/”文件夹,发现“pythonw”是一个指向“/System/Library/Frameworks/Python.framework/Versions/2.5/bin/pythonw2.5”的别名。显然,这里应该是指向3.1版本的。所以我去到“/System/Library/Frameworks/Python.framework/Versions/”,发现里面只有“2.3”和“2.5”这两个文件夹。3.1去哪了呢?
3 个回答
在 /System/Library/Frameworks/Python.framework/...
里的版本是操作系统自带的,最好不要动它们。(可以参考 这个问题)
从 python.org 下载的 .dmg 文件会安装到 /Library/Frameworks/Python.framework/...
这个地方。这些是用户自己安装的,所以你可以随意安装、卸载或移动。安装程序还会在 /usr/local/bin
创建一些快捷方式。
如果你想让 python3
可以在命令行中直接使用,可以把 /Library/.../3.1/bin
或 /usr/local/bin
加入到你的路径设置里。
Python Launcher.app
是一个有点被忽视的应用程序;有些人讨论过要不要把它删掉,因为如果有人从网上下载随便的 Python 脚本,这可能会带来安全风险。此外,如果你安装了多个 Python 版本,它的表现也可能不太稳定。很多人直接在终端窗口的命令行中运行 Python,所以他们根本不需要 Python Launcher.app
,这样做可能是最安全的。要这样做,你首先需要在 /Applications/Python 3.1
中运行 Update Shell Profile
命令,这样可以确保正确的 Python 框架 bin
目录被添加到你的 shell 路径中。然后你只需输入:
$ python3 /path/to/script.py
不过,你是可以通过把解释器路径改成:
/Library/Frameworks/Python.framework/Versions/3.1/bin/python3
来让 Python Launcher
工作,但我不建议你这么做。
另一个更好的图形界面选项是启动 IDLE.app
,然后把文件拖到它的 Dock 上,或者在它的文件菜单中打开文件。