如何在Windows上使用Emacs让Anaconda Python正常工作

3
我在我的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/")

可能是重复问题:http://stackoverflow.com/questions/16720845/run-python-failing-on-emacs-24-3-1-for-windows-custom-vendor-supplied-python2 - Wolfgang Ulmer
你能运行 M-x toggle-debug-on-error,再试一次,并将结果的回溯(如果有)添加到你的问题中吗? - user355252
我实际上先进行了搜索,并发现了“潜在的重复”。我无法让C-u M-x run-python让我设置不同的路径。然而,就像那篇帖子中一样,toggle-debug-on-error没有显示任何lisp代码错误,只显示了上面Messages中的消息,可能是因为它是外部调用(或C代码)失败,而不是任何elisp。 - wdkrnls
4个回答

0
在Anaconda提示符中运行emacs对我有效。

0

我认为你可以通过将emacs视为“virtualenv”来指向不同的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


你的错误消息(“无效参数”)可能是不同的问题。 - asmeurer

0

请确保包含python.exe的目录已经添加到PATH环境变量中。

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

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

例如,在使用Anaconda时,可以按照以下方式操作:

"C:\Users\My-User-Name\Anaconda\Scripts\python.exe"


Anaconda肯定在我的$PATH中,这是通过从Emacs进行检查验证的。 - wdkrnls

0

我也遇到了同样的问题,并发现如果我将Anaconda安装在驱动器的根目录(“C:\ Anaconda3 \”)而不是我的主目录中,Emacs就可以找到Python。 我测试了Anaconda 2和3。 这是我在.emacs文件中的设置:

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

我无法解释为什么在“C:/Users/My User/”安装不起作用,而在这里却可以。这是我第一次遇到Emacs在处理主目录路径时出现问题。

希望这对你有用,也许其他人能够解释这种行为。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接