每当我尝试从matplotlib导入pyplot时,我都会收到ImportError。 Matplotlib通过pip安装在虚拟环境中。这是我得到的错误:
Y
答案 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
将无法执行任何操作。