2014-09-02 134 views
0

我想在Ubuntu 12.04上使用matplotlib。所以我建立與PIP輪:在Ubuntu 12.04上通過pip安裝matplotlib 12.04

蟒蛇。本地/斌/ PIP輪--wheel-DIR =輪/ --build =編譯/ matplotlib

然後安裝成功:

蟒蛇。本地/斌/ PIP安裝--user --no指數--find鏈接=輪/ --build =編譯/ matplotlib

但是,當我試圖將其導入IPython中導入錯誤occures :

In [1]: import matplotlib

In [2]: matplotlib.get_backend()
Out[2]: u'agg'

In [3]: import matplotlib.pyplot

ImportError
Traceback (most recent call last) /place/home/yefremat/ in () ----> 1 import matplotlib.pyplot

/home/yefremat/.local/lib/python2.7/site-packages/matplotlib/pyplot.py in() 32 from matplotlib import docstring 33 from matplotlib.backend_bases import FigureCanvasBase ---> 34 from matplotlib.figure import Figure, figaspect 35 from matplotlib.gridspec import GridSpec 36 from matplotlib.image import imread as _imread

/home/yefremat/.local/lib/python2.7/site-packages/matplotlib/figure.py in() 38 import matplotlib.colorbar as cbar 39 ---> 40 from matplotlib.axes import Axes, SubplotBase, subplot_class_factory 41 from matplotlib.blocking_input import BlockingMouseInput, BlockingKeyMouseInput 42 from matplotlib.legend import Legend

/home/yefremat/.local/lib/python2.7/site-packages/matplotlib/axes/init.py in() 2 unicode_literals) 3 ----> 4 from ._subplots import * 5 from ._axes import *

/home/yefremat/.local/lib/python2.7/site-packages/matplotlib/axes/_subplots.py in() 8 from matplotlib import docstring 9 import matplotlib.artist as martist ---> 10 from matplotlib.axes._axes import Axes 11 12 import warnings

/home/yefremat/.local/lib/python2.7/site-packages/matplotlib/axes/_axes.py in() 36 import matplotlib.ticker as mticker 37 import matplotlib.transforms as mtransforms ---> 38 import matplotlib.tri as mtri 39 import matplotlib.transforms as mtrans 40 from matplotlib.container import BarContainer, ErrorbarContainer, StemContainer

/home/yefremat/.local/lib/python2.7/site-packages/matplotlib/tri/init.py in() 7 import six 8 ----> 9 from .triangulation import * 10 from .tricontour import * 11 from .tritools import *

/home/yefremat/.local/lib/python2.7/site-packages/matplotlib/tri/triangulation.py in() 4 import six 5 ----> 6 import matplotlib._tri as _tri 7 import matplotlib._qhull as _qhull 8 import numpy as np

ImportError: /home/yefremat/.local/lib/python2.7/site-packages/matplotlib/_tri.so: undefined symbol: _ZNSt8__detail15_List_node_base9_M_unhookEv

可能是我在做一些錯誤嗎?或者可能有一種方法可以關閉對matplotlib的gui支持?

在此先感謝。

+0

是不是有沒有安裝包管理器'sudo apt-get install python-matplotlib'的原因? – rhodysurf 2014-09-02 17:45:15

+0

感謝您的關注,但是。我在隨機機器上使用這個軟件包,然後清理所有環境。所以,我需要重新安裝這個軟件包。這就是爲什麼我決定使用python wheel來加速這個過程。 @rhodysurf – 2014-09-03 09:37:43

回答

0

好的,問題出現在gcc版本中。在構建和創建包pip的輪子期間使用系統gcc(其版本是4.7.2)。我從virtualenv使用python,它是用gcc 4.4.3構建的。所以libstdC++庫的版本在IPython和pip使用的版本中是不同的。

與往常一樣,有兩種解決方案(甚至更多):在輸入IPython之前將LD_PRELOAD環境變量與正確的libstdC++一起傳遞,或者在創建wheel和構建virtualenv時使用相同版本的gcc。我預備了最後一個。

謝謝大家。