我在学习为Python开发的Emacs,并且我发现我的一些项目因模块导入问题而无法工作,即SciPy或NumPy未导入。我已经尝试了针对这里提出的相关问题提出的解决方案,例如更改PYTHONPATH环境变量,但没有一个是好的。相比具有的sys.path使用从终端IDLE和滑动解释当我已想出不同的版本被使用:Python的2.7.3在IDLE在emacs中设置适当版本的Python和PYTHONPATH变量
Python 2.7.3 (default, Aug 1 2012, 05:14:39)
[GCC 4.6.3] on linux2
Type "copyright", "credits" or "license()" for more information.
==== No Subprocess ====
>>> from pprint import pprint as pp
>>> import sys
>>> pp(sys.path)
['/home/mench',
'/usr/bin',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PIL',
'/usr/lib/python2.7/dist-packages/gst-0.10',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/pymodules/python2.7',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
'/usr/lib/python2.7/dist-packages/ubuntuone-client',
'/usr/lib/python2.7/dist-packages/ubuntuone-control-panel',
'/usr/lib/python2.7/dist-packages/ubuntuone-couch',
'/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol']
和Python-2.7.2作为默认系统解释
Python 2.7.2 (default, Mar 1 2012, 22:28:45)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from pprint import pprint as pp
>>> import sys
>>> pp(sys.path)
['',
'/home/mench',
'/opt/alps/lib',
'/usr/local/lib/python27.zip',
'/usr/local/lib/python2.7',
'/usr/local/lib/python2.7/plat-linux2',
'/usr/local/lib/python2.7/lib-tk',
'/usr/local/lib/python2.7/lib-old',
'/usr/local/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/site-packages']
问题是:我如何让Emacs使用适当版本的Python? 我在Ubuntu 12.04上使用GNU emacs-23.3.1 如果我对这个问题的假设是错误的,请纠正我的错误
非常感谢。起初我并不清楚,因为我对emacs的无知。我也很困惑我用来设置python模式的不同补丁。现在一切都很好。对于所有阅读此内容的人来说,请对此答案投票,这是正确和有用的。 – mench
对于python-mode.el,setqing这两个变量并不会改变我的IPy模式指向的python可执行文件。这在emacs 24.5.1中使用python 2.7.6,ipython 5.1.0,python-mode版本6.2.1,在Ubuntu 14.04 LTS,BTW上运行。我还可以尝试什么? – fpt