【发布时间】:2018-08-04 23:33:09
【问题描述】:
问题的背景:我基本上从 Macbook pro 2015 切换到 Macbook pro 2017(从 macOS Sierra 10.12.6 到 High Sierra 10.13.2),我用时间机器从旧 macbook 复制了所有内容。
我最近换了电脑,matplotlib 出现大量错误 -.-
第一个问题是:如果我打开一个交互式图形然后关闭它(按十字键),那么 Jupyter 会挂起。我查看了解决方案,基本上建议是更新所有内容,所以我做到了。
我正在使用
Jupyter 4.4.0
conda 4.3.30
Python 2.7.14 |Anaconda custom (64-bit)| (default, Dec 7 2017, 11:07:58)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
我以前的电脑,
conda 4.3.30
Jupyter 4.1.0
Python 2.7.11 | Annaconda custom(x86_64) [GCC 4.2.1 (Apple Inc. build 5577) on darwin
我之前有matplotlib 1.5.1,现在我升级到2.1.1,希望能解决这个问题。
在我以前的计算机(它仍然可以与 matplotlib 一起正常工作)中,我使用的是 MacOSX 后端(默认),它非常适合绘图。但是,我对此有很多问题。首先,绘图会导致jupyter 崩溃,现在所有更新至少不会崩溃,但现在,MacOSX 后端甚至不显示绘图
细胞只是运行,没有任何东西出来。
例子:
import matplotlib
%matplotlib
import matplotlib.pyplot as plt
print "backend : ", matplotlib.get_backend()
plt.plot(range(10))
plt.show()
输出:
Using matplotlib backend: MacOSX
backend : MacOSX
而且根本没有情节!
如果我使用tkAgg 后端:
import matplotlib
matplotlib.use('tkAgg')
import matplotlib.pyplot as plt
print "backend : ", matplotlib.get_backend()
plt.plot(range(10))
plt.show()
backend : TkAgg
它运行良好并在新窗口上绘制绘图,但现在关闭绘图并不会阻止单元格运行。我必须通过键盘停止它或按 jupyter 上的停止。
我在这里遗漏了什么吗?无论如何要在 matplotlib 中解决这个烦人的事情?
进一步:
import matplotlib
matplotlib.use('Qt4Agg')
import matplotlib.pyplot as plt
给,
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-8c09ccc60eaa> in <module>()
1 import matplotlib
2 matplotlib.use('Qt4Agg')
----> 3 import matplotlib.pyplot as plt
4 print "backend : ", matplotlib.get_backend()
5 plt.plot(range(10))
//anaconda/lib/python2.7/site-packages/matplotlib/pyplot.py in <module>()
114 ## Global ##
115
--> 116 _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
117
118 _IP_REGISTERED = None
//anaconda/lib/python2.7/site-packages/matplotlib/backends/__init__.pyc in pylab_setup(name)
58 # imports. 0 means only perform absolute imports.
59 backend_mod = __import__(backend_name, globals(), locals(),
---> 60 [backend_name], 0)
61
62 # Things we pull in from all backends
//anaconda/lib/python2.7/site-packages/matplotlib/backends/backend_qt4agg.py in <module>()
8
9 from .backend_agg import FigureCanvasAgg
---> 10 from .backend_qt4 import (
11 QtCore, _BackendQT4, FigureCanvasQT, FigureManagerQT, NavigationToolbar2QT)
12 from .backend_qt5agg import FigureCanvasQTAggBase
//anaconda/lib/python2.7/site-packages/matplotlib/backends/backend_qt4.py in <module>()
16 from matplotlib.widgets import SubplotTool
17
---> 18 from .qt_compat import QtCore, QtWidgets, _getSaveFileName, __version__
19
20 from .backend_qt5 import (
//anaconda/lib/python2.7/site-packages/matplotlib/backends/qt_compat.py in <module>()
148 # have been changed in the above if block
149 if QT_API in [QT_API_PYQT, QT_API_PYQTv2]: # PyQt4 API
--> 150 from PyQt4 import QtCore, QtGui
151
152 try:
ImportError: dlopen(/usr/local/lib/python2.7/site-packages/PyQt4/QtCore.so, 2): Library not loaded: /usr/local/lib/QtCore.framework/Versions/4/QtCore
Referenced from: /usr/local/lib/python2.7/site-packages/PyQt4/QtCore.so
Reason: image not found
【问题讨论】:
标签: python macos matplotlib