如何让TextMate指向与命令行相同的Python版本
我的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 个回答
你可能还想在你的脚本文件开头加上下面这一行:
#!/opt/local/bin/python
上面的狮子是以下代码的结果:
which python
你快完成了。
在 菜单栏 中,点击 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 可执行文件的符号链接。