如何让TextMate指向与命令行相同的Python版本

3 投票
2 回答
2372 浏览
提问于 2025-04-16 20:44

我的Textmate使用的是python 2.6.1,而我的系统上安装的是2.6.5。这两个版本在功能上差别不大,但我用easy_install安装的所有包在Textmate的2.6.1版本上都无法使用,而在2.6.5版本上却可以。

为了弄清楚这个问题,我在命令行输入了which python,结果发现我想要的python路径是/Library/Frameworks/Python.framework/Versions/2.6/bin/python

我尝试通过添加一个TM_PYTHON到shell变量,或者在文件开头加上#!来指向上面的路径。但每次的结果都是出现错误信息IndexError: list index out of range,这个错误是因为模块Q = sys.argv[1]引起的。

我把这些都清除掉后,尝试创建一个/usr/.profile文件,并在里面写了一行

alias python='/Library/Frameworks/Python.framework/Versions/2.6/bin/python'

但没有任何效果。

有没有人能告诉我我哪里做错了?提前谢谢大家。

2 个回答

0

你可能还想在你的脚本文件开头加上下面这一行:

#!/opt/local/bin/python

上面的狮子是以下代码的结果:

which python
1

你快完成了。

菜单栏 中,点击 TextMate,然后从下拉菜单中选择 偏好设置,接着在弹出窗口顶部的选项中点击 高级

接下来,在高级设置的顶部有三个选项,点击 Shell 变量

menubar > TextMate > Preferences > Advanced > Shell Variables

在这里,你需要添加 两个 变量值对,一个是 PATH,另一个是 PYTHONPATH。在左下角点击 "+" 来添加第一个变量值对。你可以通过点击文本框来编辑变量或值。

对于 PATH,你需要的值是:

/Library/Frameworks/Python.framework/Versions/2.6/bin

确保这是在 PATH 变量的值字段中出现的 第一个 目录。如果你想在这个值字段中添加其他目录路径,用冒号 ":" 将它们与刚添加的路径分开。

接下来,创建变量 PYTHONPATH,并为它指定存放 site packages 的目录。这个目录可能是:

/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages

但一定要确认一下。

当你添加了这两个变量后,确保在最左边的列中为每个变量 勾选框

(你可能需要重新启动 TextMate。)

最后,确保你的 Python 脚本模板顶部的 哈希邦 行与刚才设置的一致——也就是说,PATH 中设置的值的目录应该与哈希邦行中指定的路径相符。哈希邦行中指定的路径应该是指向 Python 可执行文件的符号链接。

撰写回答