让PyDev在OS X Lion下识别Eclipse上正确的Python解释器

时间:2012-02-05 09:39:01

标签: python eclipse osx-lion interpreter pydev

我在运行OSX Lion的mac上安装了两个版本的python。第一个是OSX附带的默认python版本,可以在/ usr / bin / python中找到。我想使用的版本是我从python.org下载的版本,它安装在/Library/Frameworks/Python.framework/Versions/2.7/bin/python中。我想使用python.org版本作为解释器使用Eclipse和PyDev。因此,在Eclipse中,我转到首选项并将/Library/Frameworks/Python.framework/Versions/2.7/bin/python中安装的版本设置为解释器。

在终端窗口中,如果我键入: $ python

我得到“/Library/Frameworks/Python.framework/Versions/2.7/bin/python”,因为我相应地设置了我的$ PATH(修改后的.bash_profile永久地这样做了)

但如果我在Eclipse中运行以下简单脚本:

import os
os.system("which python")

脚本的输出是“/ usr / bin / python”

我尝试过的其他类似帖子的建议:

  1. 尝试删除并重新添加解释器位置
  2. 尝试将/Library/.../package-sites添加到PYTHONPATH
  3. 为什么不使用我明确告诉它使用的解释器的eclipse?任何有关此问题的帮助将不胜感激!

3 个答案:

答案 0 :(得分:0)

我认为Eclipse正在运行正确的python。在你的代码中运行eclipse时python没有找到python运行。尝试

import sys
print sys.version

此处的问题是,从desktop/dock/folder运行GUI应用程序无法加载.bash_profile,因此which python找不到您对PATH的更改。要更改GUI应用的路径,您需要修改~/.MacOSX/environment.plist

答案 1 :(得分:0)

我同意马克的意见。 sys.version将是eclipse用来运行代码的东西。 os.system(“which python”)将在运行代码时eclipse转发的PATH中找到python。也许如果你使用PATH调整,你也应该为在Eclipse中运行代码设置环境变量。

答案 2 :(得分:0)

问题是os.system('which python')将在路径中搜索python,而不是你当前正在运行的那个(因此,它的输出是正确的)。

您要使用/检查的是 sys.executable (此属性将指向您当前运行的可执行文件)。

至于wxPython问题,您遇到了哪些错误? (可能是stackoverflow中的另一个问题)。