在Windows上的Emacs中运行Python

在Windows上的Emacs中运行Python,python,shell,emacs,ipython,Python,Shell,Emacs,Ipython,我刚刚在windows和IPython上安装了Python 2.7 我习惯于在Linux上从Emacs内部运行IPython,例如 M-x shell 然后在提示符处键入“ipython” 这在Linux下可以正常工作,但在Windows下,它在打印IPython横幅文本后会挂起,也就是说,它看起来正在工作,但是您永远不会得到IPython提示 我可以在Windows下从标准cmd终端加载IPython(和Python),但不能从Emacs内部加载 还有谁经历过或希望解决这个问题 我在尝试启动

我刚刚在windows和IPython上安装了Python 2.7

我习惯于在Linux上从Emacs内部运行IPython,例如

M-x shell
然后在提示符处键入“
ipython

这在Linux下可以正常工作,但在Windows下,它在打印IPython横幅文本后会挂起,也就是说,它看起来正在工作,但是您永远不会得到IPython提示

我可以在Windows下从标准cmd终端加载IPython(和Python),但不能从Emacs内部加载

还有谁经历过或希望解决这个问题


我在尝试启动普通的Python时也会遇到同样的问题。

在Windows中,它不会那么容易工作,而且非常烦人。首先,确保您已安装pyreadline

接下来,我将使用系统路径中的bat文件,该文件包含:

[ipython.bat]
@python.exe -i C:\devel\Python\2.7-bin\Scripts\ipython.py  --pylab %*
接下来获取python-mode.el并删除ipython.el。后者已被弃用,python模式包含其功能

相应地更改ipython.py文件的路径并保存它。现在在Emacs中,在init.el文件中执行以下操作

(custom-set-variables
 '(py-shell-name "ipython.bat"))
或者,要实现最后一步,请执行C-h v py shell名称并对其进行自定义,如果脚本目录不在系统路径中,请将其更改为ipython.bat或ipython.bat的完整路径。保存以备将来使用


这会让你的IPython外壳正常工作。如果希望在不挂起IPython控制台的情况下使用多个交互式matplotlib图形,还有一个警告。我能绕过这个问题的唯一方法是使用IPython 0.10而不是当前版本。

我希望我刚才看到过这篇文章。我在Emacs中运行python、ipython的经验如下:

我尝试了许多选项(在Windows7上使用python(x,y)-2.7.3.0)

使用ipython.el:

只要更改ipython命令,它仍然可以工作。我不建议这样做,因为通过更改ipython命令,您失去了ipython.el的一些功能

可以显示地物,但在关闭地物之前,提示将被冻结

裸python不起作用

更改py外壳名称(如上所述): 当我添加--pylab选项时,我的数字总是挂起的

我总是有一个IPython终端

介绍ipython.bat

@C:\\Python27\\python.exe -i -u C:\\Python27\\Scripts\\ipython-script.py %*
并更改路径,以便在ipython.exe之前找到ipython.bat

IPython可以工作,但仍然只有一个线程(必须关闭figure才能返回shell)

Python也可以工作,Python-mode.el中的所有剩余函数也可以工作


在打开一个图形(在emacs中)之后,我仍然需要弄清楚如何返回shell。我开始使用Python 2.6和更早版本的IPython来工作,使用
Python-I
IPython-I
而不是
Python
IPython
为我工作(它在Emacs中得到提示,而不是无限期地挂起)

来自python--帮助:

-i:运行脚本后进行交互检查;强制提示“均匀” 如果stdin似乎不是终端;另外,PYTHONINSPECT=x


但是,生成的python解释器可能无法完全正常工作。您有两种选择:

  • 如果您在conda环境中使用python:我建议您切换到正确的python安装。这并不意味着删除Anaconda,它只意味着从Windows“%PATH%”变量下载Python并从中删除Anaconda的Python。如果你不这样做,你会在图片显示方面遇到很多问题,比如激活conda(conda activate base)等等,我从来没有成功地解决过所有问题
  • 如果您使用的是Python.org/downloads上的Python:您走对了路!检查Python是否可以从命令行(Win+R cmd Python)访问,如果不能访问,则将其路径添加到Windows path变量中
现在需要使图像显示正常工作。现成的matplotlib.pyplot在Emacs中滞后。以下是您需要做的:

首先,检查您是否下载了ipython软件包(
pip install ipython
)以及matplotlib和numpy(如果您使用它们,但谁不使用它们:
pip install matplotlib
pip install numpy

然后在您的计算机上找到ipython-script.py的位置(在文件资源管理器中键入“ipython script.py”以找到它),并将其作为变量python shell解释器args中“-i”后面的参数。还要检查pythonshell解释器是否设置为
python
。你应该有这样的东西:

(setq python shell解释器“python”)
(setq python shell解释器参数“-ic:/Users/YOUR-USER-NAME/AppData/Local/Continuum/anaconda3/Scripts/ipython script.py”)
这样,您就可以使用
M-x run python
直接从emacs运行pythonshell(或者,从python文件中,先运行C-C-p,然后运行C-C-C)

当然,如果愿意,您也可以通过命令在shell终端上执行相同的操作:
python-i“c:/Users/YOUR-USER-NAME/AppData/Local/Continuum/anaconda3/Scripts/ipython script.py”

也可以使用相同的命令创建bat文件。但这不是必须的


(使用Python 3.8进行测试)

Godspeed Hiett-emacs和Windows.fair comment-我正在将一些软件移植到Windows,并试图使我的开发过程尽可能相同(简单?),例如,emacs和mingw在samba共享的Windows virtualbox上运行。我已经用python编写了一个系统测试框架,希望在windows上运行与在linux上相同的黑盒测试,因此这个问题是不是有一个特别的原因你不使用
运行python
?在使用emacs 24.2的Windows上,它似乎是开箱即用的(如果您想使用
ipython
而不是默认值,我想您需要
M-x自定义变量
python命令
。@Inaimathi:我在Windows上有emacs 24.3.1<代码>运行python
返回“搜索程序:许可证