每当我试图从matplotlib导入pyplot时,都会遇到一个ImportError。Matplotlib是通过pip在虚拟环境中安装的。这是我得到的错误:
>>> import matplotlib.pyplot
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/mikefrank/.virtualenvs/pv-hrt/local/lib/python2.7/site-packages/matplotlib/pyplot.py", line 36, in <module>
from matplotlib.figure import Figure, figaspect
File "/home/mikefrank/.virtualenvs/pv-hrt/local/lib/python2.7/site-packages/matplotlib/figure.py", line 40, in <module>
from matplotlib.axes import Axes, SubplotBase, subplot_class_factory
File "/home/mikefrank/.virtualenvs/pv-hrt/local/lib/python2.7/site-packages/matplotlib/axes/__init__.py", line 4, in <module>
from ._subplots import *
File "/home/mikefrank/.virtualenvs/pv-hrt/local/lib/python2.7/site-packages/matplotlib/axes/_subplots.py", line 10, in <module>
from matplotlib.axes._axes import Axes
File "/home/mikefrank/.virtualenvs/pv-hrt/local/lib/python2.7/site-packages/matplotlib/axes/_axes.py", line 38, in <module>
import matplotlib.tri as mtri
File "/home/mikefrank/.virtualenvs/pv-hrt/local/lib/python2.7/site-packages/matplotlib/tri/__init__.py", line 9, in <module>
from .triangulation import *
File "/home/mikefrank/.virtualenvs/pv-hrt/local/lib/python2.7/site-packages/matplotlib/tri/triangulation.py", line 7, in <module>
import matplotlib._qhull as _qhull
ImportError: libqhull.so.5: cannot open shared object file: No such file or directory
这可能在系统升级后发生。在我的具体例子中,我将ubuntu14.04升级到16.04。Matplotlib链接到},matplotlib链接到
\*.so
的特定版本,这些版本已经过时。我想这是因为不同的版本并不(总是)向后兼容。 (对我来说,在操作系统升级期间,我从libqhull.so.6
变成了{libqhull.so.6
。)首先,您可以使用如下方法确保
libqhull
存在于您的系统中:或者与你的系统相当。 (我的已经安装好了,所以没什么变化。)
由于现在,
^{pr2}$pip
经常安装一个已经编译好的轮子,我们需要强制pip
来进行编译,因此它与新的so
文件相连接。 我用过:选项:
no-binary matplotlib
告诉pip
不要对matplotlib
使用控制盘(但它仍然可以对依赖项使用控制盘,例如numpy
)。在upgrade
应该很明显force
,因为我们可能已经是最新的matplotlib
版本,那么{相关问题 更多 >
编程相关推荐