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したら治った

現@L_301_11@環境

やったこと

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

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

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

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

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

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

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

# 古いnumpy関連のものがあった
$ ls /Library/Python/@H_404_106@2.@H_404_106@7/site-packages
numpy  numpy@H_404_106@-1.@H_404_106@8.@H_404_106@1.dist-info

# 消しちゃおう
$ sudo mv /Library/Python/@H_404_106@2.@H_404_106@7/site-packages/numpy* /Library/Python/@H_404_106@2.@H_404_106@7/site-packages/temp_bkup/

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

 ()

Successfully installed numpy
Cleaning up...

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

有问题请留言。

猜你在找的Ubuntu相关文章