Ubuntu下python3.5报错cannot import name 'multiarray'

前端之家收集整理的这篇文章主要介绍了Ubuntu下python3.5报错cannot import name 'multiarray'前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

python版本太多容易出现清理不干净,在https://stackoverflow.com上面找了好久没有找到一个靠谱的答案。

碰到的问题是:

File "/home/mi/pycharm/helpers/pydev/pydevd.py",line 1578,in <module>
globals = debugger.run(setup['file'],None,is_module)
File "/home/mi/pycharm/helpers/pydev/pydevd.py",line 1015,in run
pydev_imports.execfile(file,globals,locals) # execute the script
File "/home/mi/pycharm/helpers/pydev/_pydev_imps/_pydev_execfile.py",line 18,in execfile
exec(compile(contents+"\n",file,'exec'),glob,loc)
File "/home/mi/git/tf_project/TensorFlow-ENet-master/train_enet.py",line 1,in <module>
import tensorflow as tf
File "/usr/local/lib/python3.5/dist-packages/tensorflow/__init__.py",line 24,in <module>
from tensorflow.python import *
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/__init__.py",line 47,in <module>
import numpy as np
File "/usr/lib/python3/dist-packages/numpy/__init__.py",line 153,in <module>
from . import add_newdocs
File "/usr/lib/python3/dist-packages/numpy/add_newdocs.py",line 13,in <module>
from numpy.lib import add_newdoc
File "/usr/lib/python3/dist-packages/numpy/lib/__init__.py",line 8,in <module>
from .type_check import *
File "/usr/lib/python3/dist-packages/numpy/lib/type_check.py",line 11,in <module>
import numpy.core.numeric as _nx
File "/usr/lib/python3/dist-packages/numpy/core/__init__.py",line 6,in <module>
from . import multiarray
ImportError: cannot import name 'multiarray'

在一个日本的博客网站找到一个答案,解决了。

网站:http://d.hatena.ne.jp/aremokoremo/20140507/1399475248

防止下次网站进不去,直接拷贝过来。

概要

これら↓をもって、

やっとのことで homebrew上でのpython環境を構築したので、

いざ、python上でnumpyってモジュールを使って見ようと思ったら、importエラー、、

”pip install --upgrade setuptools” で失敗の記事同様、
ここでも、標準python環境で昔入れたnumpyが悪さをしていた

てことで、"/Library/Python/2.7/site-packages" 配下のnumpy関連のものを削除して、
再度 pip install numpyしたら治った

mac環境

やったこと

numpyをインストールしようとした

$ pip install numpy
Requirement already satisfied (use --upgrade to upgrade): requests in /Library/Python/2.7/site-packages
Cleaning up...

あ、もう入ってた(ちょっと前に、標準python環境に入れていた)。

じゃあ、もう使えるはず、と思いきや、、

$ python
Python 2.7.6 (default,Apr  9 2014,11:48:52) 
[GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.38)] on darwin
Type "help","copyright","credits" or "license" for more information.
>>> import numpy
Traceback (most recent call last):
  File "<stdin>",line 1,in <module>
  File "/Library/Python/2.7/site-packages/numpy/__init__.py",line 153,in <module>
    from . import add_newdocs
  File "/Library/Python/2.7/site-packages/numpy/add_newdocs.py",line 13,in <module>
    from numpy.lib import add_newdoc
  File "/Library/Python/2.7/site-packages/numpy/lib/__init__.py",line 8,in <module>
    from .type_check import *
  File "/Library/Python/2.7/site-packages/numpy/lib/type_check.py",line 11,in <module>
    import numpy.core.numeric as _nx
  File "/Library/Python/2.7/site-packages/numpy/core/__init__.py",line 6,in <module>
    from . import multiarray
ImportError: dlopen(/Library/Python/2.7/site-packages/numpy/core/multiarray.so,2): Symbol not found: _PyBytes_Type
  Referenced from: /Library/Python/2.7/site-packages/numpy/core/multiarray.so
  Expected in: flat namespace
 in /Library/Python/2.7/site-packages/numpy/core/multiarray.so

なんか怒られた、、解析するのもめんどくさそう、、、

が、"もしや、標準Python環境で入れたnumpyとの互換がとれてないのでは?" と予想し、
それらを削除してみたらやっぱりビンゴ

# 古いnumpy関連のものがあった
$ ls /Library/Python/2.7/site-packages
numpy  numpy-1.8.1.dist-info

# 消しちゃおう
$ sudo mv /Library/Python/2.7/site-packages/numpy* /Library/Python/2.7/site-packages/temp_bkup/

#numpy再インストール(ソースがDLされて、新たにビルドされる)
$ pip install numpy
Downloading/unpacking numpy

 ()

Successfully installed numpy
Cleaning up...

#もう一回 importしてみる (成功)
$ python 
Python 2.7.6 (default,"credits" or "license" for more information.
>>> import numpy
按照这个思路,把你的site-packages下面的包,清理干净之后就可以了。

有问题请留言。

原文链接:https://www.f2er.com/ubuntu/350730.html

猜你在找的Ubuntu相关文章