IPython笔记本 - $DISPLAY变量错误

9
我正在Ubuntu虚拟机上运行IPython笔记本。 到目前为止,一切都很好,只是我无法进行交互式matplotlib绘图。
我收到的错误是:TclError:没有显示名称和没有$DISPLAY环境变量 我只是想遵循这些超级基本的教程。

http://nbviewer.ipython.org/github/jakevdp/matplotlib_pydata2013/tree/master/notebooks/

任何提示吗?我做了一些研究,但似乎没有适用于在Ubuntu机器上运行iPython的内容。我知道我正在忽略一些明显的东西。
在与ThomasK交谈后,似乎我需要在iPython中运行%matplotlib nbaggs跟随%matplotlib inline以获得VM内的交互性。
然而,交互性仅在最新版本的matplotlib(1.4.x)中可用,因此我需要从1.3.x升级。
在运行sudo pip install matplotlib --upgrade之后,我在我的.pip_log中收到了以下错误消息。
有什么建议吗?
----------------------------------------
Cleaning up...
  Removing temporary dir /tmp/pip_build_root...
Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_root/matplotlib
Exception information:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 278, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1229, in prepare_files
    req_to_install.run_egg_info()
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 325, in run_egg_info
    command_desc='python setup.py egg_info')
  File "/usr/lib/python2.7/dist-packages/pip/util.py", line 697, in call_subprocess
    % (command_desc, proc.returncode, cwd))
InstallationError: Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_root/matplotlib

请查看这里以获得更好的问题: 在运行nbagg与matplotlib交互的Linux虚拟机上运行的ipython笔记本


@BryanOakley 我做了一些研究。我在StackExchange上搜索了一下。http://stackoverflow.com/questions/19409201/putty-tkinter-tclerror-no-display-name-and-no-diplay-environment-variable - user3659451
@BryanOakley,我也看到了一些关于X窗口的东西,以及以下内容,但似乎都不适用。如果您能指向一些链接,我会写一个答案来帮助解决问题。 "看起来你是从控制台运行这个程序。它看起来是一个X应用程序,因此需要从GUI中运行。 您需要运行“startx”并启动终端,然后从那里运行Python代码。" - user3659451
你是在Ubuntu虚拟机内查看笔记本,还是在服务器虚拟机中运行并从本地计算机访问它?在后一种情况下,我会预期出现这样的错误;它试图在虚拟机中显示绘图。使用mpl的nbagg后端可能有效。 - Thomas K
这是后一种情况。谢谢@ThomasK。我终于明白了%matplotlib inline%pylab inline可以让面向对象的matplots出现。然而,按钮只是一个png。我该如何使它们可点击? - user3659451
1
@ThomasK 你好,Thomas,我已经在这里用一个不错的问题总结了一切:https://dev59.com/d4Xca4cB1Zd3GeqPECMd - user3659451
显示剩余10条评论
1个回答

16

执行此操作

%matplotlib inline

2
这个解决了我的问题,谢谢! - David

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