导入pyplot时的ImportError libqhull.so.5

时间:2016-06-07 17:53:09

标签: python linux matplotlib importerror

每当我尝试从matplotlib导入pyplot时,我都会收到ImportError。 Matplotlib通过pip安装在虚拟环境中。这是我得到的错误:

Y

1 个答案:

答案 0 :(得分:5)

系统升级后可能会发生这种情况。在我的具体情况下,我将Ubuntu 14.04升级到16.04。 Matplotlib链接到\*.so的特定版本,这些版本已过时。我认为这是因为不同的版本不是(总是)向后兼容的。 (对我来说,我在操作系统升级期间从libqhull.so.6转到libqhull.so.7,并且matplotlib已链接到libqhull.so.6。)

首先,您可以使用以下内容确保系统中存在libqhull

sudo apt install libqhull-dev

或您系统的等效物。 (我已经安装了,所以没有任何改变。)

从现在开始,pip经常安装一个已经编译过的轮子,我们需要强制pip进行编译,因此它与新的so链接文件。 我用过:

py35 -m pip install --upgrade matplotlib --no-binary matplotlib --force

选项:

  • --no-binary matplotlib告诉pip不要为matplotlib使用轮子(但它仍然可以使用轮子作为numpy等依赖项。
  • --upgrade应该是显而易见的
  • --force,因为我们可能已经是最新的matplotlib版本,然后--upgrade将无法执行任何操作。