如何在Windows上使Anaconda Python在Emacs中工作

3 投票
4 回答
4307 浏览
提问于 2025-04-18 15:36

我在我的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 个回答

0

我在Anaconda提示符下运行emacs是可以的。

0

我也遇到过同样的问题,发现如果我把Anaconda安装在驱动器的根目录下(也就是"C:\Anaconda3\"),Emacs就能找到Python,而不是安装在我的个人文件夹里。我测试过Anaconda 2和3,结果都是这样。这是我在我的.emacs文件里写的:

(setq python-shell-interpreter "C:/Anaconda3/python.exe")

我不能解释为什么这样做有效,而在"C:/Users/My User/"下安装却不行。这是我第一次发现Emacs在处理个人文件夹时会有问题。

希望这个方法对你有用,也许其他人能解释一下这个现象。

0

确保你的python.exe文件所在的文件夹在PATH变量中。

如果需要,可以在“高级系统设置/环境变量”中进行编辑。

通常情况下,这个路径是“C:\Python27\python.exe”。

比如使用Anaconda时,路径通常是:

“C:\Users\My-User-Name\Anaconda\Scripts\python.exe”。

0

我觉得你可以让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

撰写回答