python版本太多容易出现清理不干净,在https://stackoverflow.com上面找了好久没有找到一个靠谱的答案。
碰到的问题是:
File "/home/mi/pycharm/helpers/pydev/pydevd.py", line 1578, in
globals = debugger.run(setup['file'], None, 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
import tensorflow as tf
File "/usr/local/lib/python3.5/dist-packages/tensorflow/__init__.py", line 24, in
from tensorflow.python import *
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/__init__.py", line 47, in
import numpy as np
File "/usr/lib/python3/dist-packages/numpy/__init__.py", line 153, in
from . import add_newdocs
File "/usr/lib/python3/dist-packages/numpy/add_newdocs.py", line 13, in
from numpy.lib import add_newdoc
File "/usr/lib/python3/dist-packages/numpy/lib/__init__.py", line 8, in
from .type_check import *
File "/usr/lib/python3/dist-packages/numpy/lib/type_check.py", line 11, in
import numpy.core.numeric as _nx
File "/usr/lib/python3/dist-packages/numpy/core/__init__.py", line 6, in
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したら治った
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 "", 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, 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按照这个思路,把你的site-packages下面的包,清理干净之后就可以了。
有问题请留言。