2016-04-15 84 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。