如何在Windows上使Anaconda Python在Emacs中工作
我在我的Windows 7电脑上安装了Anaconda。现在我想知道怎么在Emacs中让它运行起来。我试着输入了M-x run-python
,结果出现了一个很奇怪的错误信息:
apply: Spawning child process: invalid argument
我的Python可执行文件已经在路径里了。我试着修改了一个叫python-shell-interpreter
的变量,想看看是不是需要把"python"
改成"python.exe"
,但这样也没有效果。那么这是怎么回事呢?有什么特别的方法可以让它们正常沟通吗?
我把这些代码放在我的.emacs文件里,但还是出现了上面的错误。
(setq python-shell-interpreter "C:/Users/My User/Anaconda/python.exe")
(setq python-shell-virtualenv-path "C:/Users/My User/Anaconda/")
4 个回答
我在Anaconda提示符下运行emacs是可以的。
我也遇到过同样的问题,发现如果我把Anaconda安装在驱动器的根目录下(也就是"C:\Anaconda3\"),Emacs就能找到Python,而不是安装在我的个人文件夹里。我测试过Anaconda 2和3,结果都是这样。这是我在我的.emacs文件里写的:
(setq python-shell-interpreter "C:/Anaconda3/python.exe")
我不能解释为什么这样做有效,而在"C:/Users/My User/"下安装却不行。这是我第一次发现Emacs在处理个人文件夹时会有问题。
希望这个方法对你有用,也许其他人能解释一下这个现象。
确保你的python.exe文件所在的文件夹在PATH变量中。
如果需要,可以在“高级系统设置/环境变量”中进行编辑。
通常情况下,这个路径是“C:\Python27\python.exe”。
比如使用Anaconda时,路径通常是:
“C:\Users\My-User-Name\Anaconda\Scripts\python.exe”。
我觉得你可以让emacs指向一个不同的Python,就像使用“虚拟环境”一样。你可以试试下面这样的做法:
(setq python-shell-virtualenv-path "/path/to/anaconda/")
这样就可以了。如果你想使用conda环境,可以把/path/to/anaconda
替换成你环境的路径,比如/path/to/anaconda/envs/envname
。
你还可以使用M-x customize
来修改python-shell-virtualenv-path
。