【发布时间】:2013-03-24 17:31:34
【问题描述】:
我最近按照此处的说明安装了 ipython:http://ardiyu07.blogspot.com/2012/04/ipython-012-installation-in-cygwin.html。
当我运行'ipython --pylab' 时,我收到以下错误消息。我四处搜索,发现有关此错误的帖子,但在不同的上下文中。当我使用 --pylab 参数启动 ipython 时,就会发生我的问题。我知道这与 matplotlib gui 交互有关,但不确定到底是什么。感谢您的指导。
$ ipython --pylab
Python 2.7.3 (default, Dec 18 2012, 13:50:09)
Type "copyright", "credits" or "license" for more information.
IPython 0.13.1 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
Welcome to pylab, a matplotlib-based Python environment [backend: TkAgg].
For more information, type 'help(pylab)'.
[TerminalIPythonApp] GUI event loop or pylab initialization failed
---------------------------------------------------------------------------
TclError Traceback (most recent call last)
/usr/lib/python2.7/site-packages/IPython/core/interactiveshell.pyc in enable_pylab(self, gui, import_all)
2780 # Now we must activate the gui pylab wants to use, and fix %run to take
2781 # plot updates into account
-> 2782 self.enable_gui(gui)
2783 self.magics_manager.registry['ExecutionMagics'].default_runner = \
2784 mpl_runner(self.safe_execfile)
/usr/lib/python2.7/site-packages/IPython/lib/inputhook.pyc in enable_gui(gui, app)
526 e = "Invalid GUI request %r, valid ones are:%s" % (gui, guis.keys())
527 raise ValueError(e)
--> 528 return gui_hook(app)
529
/usr/lib/python2.7/site-packages/IPython/lib/inputhook.pyc in enable_tk(self, app)
322 if app is None:
323 import Tkinter
--> 324 app = Tkinter.Tk()
325 app.withdraw()
326 self._apps[GUI_TK] = app
/usr/lib/python2.7/lib-tk/Tkinter.pyc in __init__(self, screenName, baseName, className, useTk, sync, use)
1683 baseName = baseName + ext
1684 interactive = 0
-> 1685 self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
1686 if useTk:
1687 self._loadtk()
TclError: no display name and no $DISPLAY environment variable
【问题讨论】:
-
不知道tkinter是否兼容cygwin。你需要使用cygwin吗?您可以在 Windows 上安装 IPython 和 matplotlib 而无需 cygwin。
-
感谢您的反馈。我对 cygwin 有其他依赖项,这就是为什么我想与运行时环境保持一致。我在上面引用的带有安装说明的网站似乎表明 ipython 和 matplotlib 应该与 cygwin 一起使用,因为这些说明适用于 cygwin。
-
看来您现在需要在 Cygwin 中为 tkinter 安装 X11 - 链接的帖子可能使用的是旧版本。 cygwin.com/ml/cygwin/2012-02/msg00115.html
-
这和 X/Cygwin (x.cygwin.com) 一样吗?我刚刚安装,我得到了同样的错误。 :(
-
对不起,那你得希望对 Cygwin 有更多了解的人能帮上忙。
标签: matplotlib cygwin tkinter ipython