我刚刚在Windows上安装了Python 2.7和IPython。
我习惯在Linux上的Emacs中运行IPython,例如
M-x shell
然后在提示符下输入“ipython
”。
这在Linux下工作正常,但在Windows下它会在打印IPython横幅文本后挂起,即看起来它正在工作,但是你永远不会得到IPython提示。
我可以在Windows下加载IPython(和Python),没有问题来自标准的cmd终端,而不是来自Emacs。
其他人是否经历过或希望解决这个问题?
我在尝试启动普通的旧Python时遇到了同样的问题。
答案 0 :(得分:2)
在Windows中它不会那么容易,而且非常烦人。首先,确保已安装pyreadline。
接下来,我使用了一个bat文件,它位于我的系统路径中,包含:
[ipython.bat]
@python.exe -i C:\devel\Python\2.7-bin\Scripts\ipython.py --pylab %*
接下来获取python-mode.el并删除ipython.el。后者已弃用,python-mode包含其功能。
相应地更改ipython.py文件的路径并保存。现在,在您的Emacs中,在init.el文件中执行以下操作。
(custom-set-variables
'(py-shell-name "ipython.bat"))
或者,为了实现最后一步,做C-h v< RET> py-shell-name并自定义它并将其更改为ipython.bat或ipython.bat的完整路径(如果scripts目录不在您的系统路径中)。除了将来的会议。
这应该让你的IPython shell工作。如果您想要多个交互式matplotlib数字而不挂起您的IPython控制台,还有一个警告。解决这个问题的唯一方法是使用IPython 0.10而不是当前版本。
答案 1 :(得分:1)
我希望我刚才看过这篇文章。我在Emacs中运行python,ipython的经验如下:
我尝试了很多选项(在Windows 7上使用python(x,y)-2.7.3.0)
使用ipython.el:
如果您更改ipython-command,它仍然有效。我不建议这样做,因为你通过更改ipython-command
从ipython.el中删除了一些功能您可以显示数字,但提示会冻结,直到您关闭数字
裸露的python不起作用
更改py-shell-name(如上所示): 当我添加--pylab选项
时,我的数字总是悬空我总是得到一个IPython终端
介绍包含
的ipython.bat@C:\\Python27\\python.exe -i -u C:\\Python27\\Scripts\\ipython-script.py %*
并更改路径,以便在ipython.exe之前找到ipython.bat
IPython有效,但仍然只有一个线程(你必须关闭数字才能返回shell)
Python也可以工作,所有剩下的函数都来自python-mode.el
我仍然需要弄清楚如何在打开图形后(在emacs内)返回shell。我开始使用Python 2.6和旧版本的IPython
答案 2 :(得分:1)
使用python -i
或ipython -i
而不是python
或ipython
对我有用(它使我在Emacs中得到提示,而不是无限期地挂起)。
从python --help开始:
-i:运行脚本后进行交互检查;强制提示甚至 如果stdin似乎不是终端;也PYTHONINSPECT = x
但是,生成的python解释器可能无法完全发挥作用。您有2个选择:
现在,您需要使图像显示正常工作。开箱即用,matplotlib.pyplot在Emacs中落后。这是您需要做的:
首先,检查是否已下载ipython软件包(pip install ipython
)以及matplotlib和numpy(如果使用它们,但没有使用pip install matplotlib
,pip install numpy
)。
然后在计算机上找到ipython-script.py的位置(在文件资源管理器中键入“ ipython-script.py”以找到它),并将其作为参数放入变量python-shell-interpreter-args中,在“ -i”之后。还要检查python-shell-interpreter是否已正确设置为python
。您应该有类似的东西:
(setq python-shell-interpreter "python")
(setq python-shell-interpreter-args "-i c:/Users/YOUR-USER-NAME/AppData/Local/Continuum/anaconda3/Scripts/ipython-script.py")
这样,您可以直接使用M-x run-python
从emacs运行python shell(或者从python文件中依次运行C-c C-p和C-c C-c)。
当然,如果愿意,您也可以从Shell终端执行以下命令:
python -i "c:/Users/YOUR-USER-NAME/AppData/Local/Continuum/anaconda3/Scripts/ipython-script.py"
或者您可以使用相同的命令创建一个bat文件。但这不是必需的。
(已通过Python 3.8测试)