Python 导入pyplot时导入libqhull.so.5

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

每当我试图从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
导入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
    将不起任何作用

这可能在系统升级后发生。在我的例子中,我将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
    将不起任何作用

您是否已尝试重新安装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
。和#
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
。和#
进行安装
-