我按照EnigmaCurry的说明在emacs中设置一个好的pythonide。我没有一字不差地遵循,因为emacs24中发生了一些变化,我大量使用customizer来设置选项。无论如何,当我设置flymake时,我遇到了一个问题:carbonemacs与shell的路径不一致,我用doing this修复了这个问题。在
我怀疑类似的事情也发生在pymac身上。启动emacs时,出现以下错误:
error: Pymacs helper did not start within 30 seconds
检查*Pymacs*
缓冲区时,我注意到:
我的site packages目录在PATH和PYTHONPATH变量中,但emacs似乎覆盖了PYTHONPATH。为了举例说明,如果我在shell中输入python -c "import sys; print sys.path"
,我得到:
['', '/usr/local/Cellar/python/2.7.2/ ... *snip* ]
但是如果我在emacs中通过M-! python -c "import sys; print sys.path" [RET]
执行相同的操作,我会得到:
['', '/usr/local/share/python',
'/System/Library/Frameworks/Python.framework/Versions/2.6/ ... *snip* ]
IIUC,这意味着emacs除了正确地获取我手动创建的PYTHONPATH shell变量(第二个列表项)之外,还使用了macfactory默认的python框架。但是,pymac是找不到的。在
我已经将python-python-command
设置为python2.7
,即使正确的python在路径上位于前面。也就是说,shell中的python --version
是2.7,但在emacs中是2.6。在
我运行的是最新的使用自制软件安装的carbonemacs24。在
更新的解决方案
如果您在macosx上,最好的做法是编辑
/etc/path
文件,如this superuser question和my own中所述。如果你的症状相似,我会先试试这个方法。在原液
在写这个问题的时候,我找到了对我有用的解决办法。对于我的设置,更改
python-python-command
和py-python-command
都没有解决这个问题。在Pymacs documentation建议通常不需要设置PYMACS_PYTHON变量,但是当我在init文件中使用
(setenv "PYMACS_PYTHON" "python2.7")
时,它就消除了这个错误。在我还在处理其他一些小问题,但这部分似乎已经解决了。在
相关问题 更多 >
编程相关推荐