2016-04-15 88 views
0

我試着讀了關於蟒蛇的錯誤 導入錯誤的所有問題:無模塊名爲 我重新安裝所有模塊我需要使用沒有在我的Python找到模塊

sudo apt-get install build-essential python-dev python-setuptools python-numpy python-scipy libatlas-dev libatlas3gf-base 

我也使用PIP

升級
sudo pip install --upgrade numpy 
sudo pip install --upgrade scipy 

當乳寧pip list我得到

matplotlib(1.3.1)

SciPy的(0.17.0或更新)

numpy的(1.11.0)

但這裏是執行結果:

>>> import matplotlib 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named matplotlib 

>>> import numpy 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/lib/python2.7/dist-packages/numpy/__init__.py", line 153, in <module> 
    from . import add_newdocs 
    File "/usr/lib/python2.7/dist-packages/numpy/add_newdocs.py", line 13, in <module> 
    from numpy.lib import add_newdoc 
    File "/usr/lib/python2.7/dist-packages/numpy/lib/__init__.py", line 8, in <module> 
    from .type_check import * 
    File "/usr/lib/python2.7/dist-packages/numpy/lib/type_check.py", line 11, in <module> 
    import numpy.core.numeric as _nx 
    File "/usr/lib/python2.7/dist-packages/numpy/core/__init__.py", line 6, in <module> 
    from . import multiarray 
ImportError: /usr/lib/python2.7/dist-packages/numpy/core/multiarray.so: undefined symbol: PyUnicodeUCS4_AsUnicodeEscapeString 

我不知道發生了什麼事!請幫忙!!

OS ubuntu14.04

新的編輯 所以一些新聞:我檢查了安裝python的,我發現在不同的地方不同的版本。在python2.7情況下,我有:

/usr/bin/python2.7 
/usr/local/bin/pyton2.7 

在使用which我得到

which python 
/usr/local/bin/python 

/usr/bin/python2.7作品真的沒事

cd /usr/bin 
./python2.7 
Python 2.7.6 (default, Jun 22 2015, 17:58:13) 
[GCC 4.8.2] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import scipy 
>>> import numpy 
>>> import matplotlib 
>>> 

感謝

+1

找到模塊已安裝的位置(使用'find(1)'),然後確保該目錄在'sys.path'中。如有必要,修改並導出環境變量'PYTHONPATH'。 – cdarke

+0

我添加了sys.path中的所有路徑,但我仍然有'ImportError:/usr/lib/python2.7/dist-packages/numpy/core/multiarray.so:undefined symbol:PyUnicodeUCS4_AsUnicodeEscapeString' – AliK

+0

請參閱http:// stackoverflow.com/questions/15403273/possible-conflicting-python-installations – cdarke

回答

0

這種情況發生在軟件包有C擴展名,它們是爲解釋器w編譯的這不適合你想要運行它的Python版本。

(假設你在Linux/OS X上運行) 您可以嘗試使用的virtualenv安裝包爲當前Python版本您正在運行:

pip install virtualenv 
virtualenv my_env 
source my_env/bin/activate 
pip install numpy 

或者你也可以直接提供與您安裝numpy的Python版本的顯式路徑。

請注意,/usr/lib/python2.7/dist-packages/numpy/core/multiarray.so是未能加載的C擴展,這表明問題。

另請參閱Conflicting versions of python in ubuntu瞭解如何根據需要編譯Python。