Python 导入pyplot时导入libqhull.so.5
每当我试图从matplotlib导入pyplot时,我都会收到一个ImportError。Matplotlib是通过虚拟环境中的pip安装的。这就是我得到的错误:Python 导入pyplot时导入libqhull.so.5,python,linux,matplotlib,importerror,Python,Linux,Matplotlib,Importerror,每当我试图从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/l
>>> 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
导入matplotlib.pyplot
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/home/mikefrank/.virtualenvs/pv hrt/local/lib/python2.7/site packages/matplotlib/pyplot.py”,第36行,在
从matplotlib.figure导入FigSpect图形
文件“/home/mikefrank/.virtualenvs/pv-hrt/local/lib/python2.7/site-packages/matplotlib/figure.py”,第40行,在
从matplotlib.axes导入轴、子批次库、子批次类工厂
文件“/home/mikefrank/.virtualenvs/pv hrt/local/lib/python2.7/site packages/matplotlib/axes/_init__.py”,第4行,在
从.\u子地块导入*
文件“/home/mikefrank/.virtualenvs/pv hrt/local/lib/python2.7/site packages/matplotlib/axes/_subplot.py”,第10行,在
从matplotlib.axes.\u轴导入轴
文件“/home/mikefrank/.virtualenvs/pv hrt/local/lib/python2.7/site packages/matplotlib/axes/_axes.py”,第38行,在
将matplotlib.tri导入为mtri
文件“/home/mikefrank/.virtualenvs/pv-hrt/local/lib/python2.7/site-packages/matplotlib/tri/_-init.py”,第9行,在
从。三角测量导入*
文件“/home/mikefrank/.virtualenvs/pv-hrt/local/lib/python2.7/site-packages/matplotlib/tri/triangulation.py”,第7行,在
导入matplotlib.\u qhull作为\u qhull
ImportError:libqhull.so.5:无法打开共享对象文件:没有这样的文件或目录
这可能在系统升级后发生。在我的例子中,我将Ubuntu 14.04升级到了16.04。Matplotlib链接到特定版本的
\*。因此
,这些都过时了。我认为这是因为不同的版本并不(总是)向后兼容。
(对我来说,在操作系统升级期间,我从libqhull.so.6
转到libqhull.so.7
,matplotlib链接到libqhull.so.6
)
首先,您可以使用以下方法确保系统中存在libqhull
:
sudo apt install libqhull-dev
或与您的系统等效。
(我的已安装,因此没有任何更改。)
因为现在,pip
经常安装一个轮子,这个轮子已经编译好了,我们需要强制pip
进行编译,所以它会链接到新的so
文件。
我用过:
选择:
告诉--没有二进制matplotlib
不要对pip
使用控制盘(但它仍然可以对依赖项(如matplotlib
)使用控制盘)numpy
应该是显而易见的--升级
,因为我们可能已经是最新的--force
版本,然后matplotlib
将不起任何作用--upgrade
\*。因此
,这些都过时了。我认为这是因为不同的版本并不(总是)向后兼容。
(对我来说,在操作系统升级期间,我从libqhull.so.6
转到libqhull.so.7
,matplotlib链接到libqhull.so.6
)
首先,您可以使用以下方法确保系统中存在libqhull
:
sudo apt install libqhull-dev
或与您的系统等效。
(我的已安装,因此没有任何更改。)
因为现在,pip
经常安装一个轮子,这个轮子已经编译好了,我们需要强制pip
进行编译,所以它会链接到新的so
文件。
我用过:
选择:
告诉--没有二进制matplotlib
不要对pip
使用控制盘(但它仍然可以对依赖项(如matplotlib
)使用控制盘)numpy
应该是显而易见的--升级
,因为我们可能已经是最新的--force
版本,然后matplotlib
将不起任何作用--upgrade
libqhull.so.5
-在我编译了Qhull-2003.1中的文件后,错误仍然出现。除了/configure
和make
,我还需要做其他事情吗?可能您的应用程序只在/usr/lib*/中查找libqhull.so.5?安装到/usr/lib*/:/configure--prefix=/usr/&&make
。和#makeinstall
-您已经尝试过重新安装matplotlib吗?是的,我尝试过通过pip和apt get重新安装它。»libqhull.so.5:没有这样的文件或目录«««:请安装“libqhull5”,如果有的话。Qhull-2003.1(.tar.gz)提供了libqhull.so.5
-在我编译了Qhull-2003.1中的文件后,错误仍然出现。除了/configure
和make
,我还需要做其他事情吗?可能您的应用程序只在/usr/lib*/中查找libqhull.so.5?安装到/usr/lib*/:/configure--prefix=/usr/&&make
。和#进行安装
-