让PyDev在OS X Lion上的Eclipse中识别正确的Python解释器
我在我的Mac上安装了两个版本的Python,系统是OSX Lion。第一个是系统自带的Python版本,位置在/usr/bin/python。另一个是我从python.org下载的版本,安装在/Library/Frameworks/Python.framework/Versions/2.7/bin/python。我想在Eclipse和PyDev中使用python.org的版本作为解释器。所以,我在Eclipse的设置里,把/Library/Frameworks/Python.framework/Versions/2.7/bin/python设置成了解释器。
在终端窗口里,如果我输入:
$ which python我得到的结果是"/Library/Frameworks/Python.framework/Versions/2.7/bin/python",因为我调整了我的$PATH(修改了.bash_profile来永久设置这个)。
但是如果我在Eclipse中运行以下简单的脚本:
import os
os.system("which python")
脚本的输出却是"/usr/bin/python"。
我尝试过的一些方法,都是根据其他类似帖子里的建议:
- 尝试删除然后重新添加解释器的位置
- 尝试把/Library/.../package-sites添加到PYTHONPATH
为什么Eclipse没有使用我明确告诉它要使用的解释器呢?对此问题的任何帮助都非常感谢!
3 个回答
我同意Mark的看法。sys.version会是Eclipse用来运行你代码的Python版本。而os.system("which python")会显示在PATH中找到的Python,这个是Eclipse在运行你的代码时传递过来的。如果你对PATH做了调整,可能还需要为在Eclipse中运行代码设置环境变量。
我觉得Eclipse正在运行正确的Python。在你的代码中,当在Eclipse下运行时,Python找不到正在运行的Python。你可以试试
import sys
print sys.version
这里的问题是,从桌面/停靠栏/文件夹
运行一个图形界面应用时,系统不会加载你的.bash_profile
,所以which python
找不到你对路径的更改。要为图形界面应用更改路径,你需要编辑~/.MacOSX/environment.plist
这个文件。
问题在于,os.system('which python') 这个命令会在系统的路径中查找 Python,而不是你当前正在使用的 Python(所以它的输出是正确的)。
你应该使用或检查的是 sys.executable(这个属性会指向你当前正在运行的可执行文件)。
至于 wxPython 的问题,你遇到了什么错误呢?(这可能是 StackOverflow 上的另一个问题)。