为什么python3.5链接python2.7的numpy?

时间:2016-03-11 10:50:54

标签: python macos python-3.x numpy python-2.x

更新问题:

我用

sudo python3
>>import numpy

有效!

我使用以下评论的建议:

删除路径中的/usr/local/lib/python2.7/site-packages

问题解决了!

========旧问题===========

我正在使用Mac OS El Capitan。

Python2.7是默认版本; python3.5是从官方网站python3.5 for mac安装的。

我已经在python2.7中安装了numpy。现在我需要在python3.5中安装numpy。

我用:

pip3 install numpy

返回

“要求已经满足(使用--upgrade升级): nusy in /usr/local/lib/python2.7/site-packages“

当我跑

python3
>>import numpy

在python3中

输出:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/site-packages/numpy/__init__.py", line 170, in <module>
    from . import add_newdocs
  File "/usr/local/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "/usr/local/lib/python2.7/site-packages/numpy/lib/__init__.py", line 8, in <module>
    from .type_check import *
  File "/usr/local/lib/python2.7/site-packages/numpy/lib/type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "/usr/local/lib/python2.7/site-packages/numpy/core/__init__.py", line 6, in <module>
    from . import multiarray
ImportError: dlopen(/usr/local/lib/python2.7/site-packages/numpy/core/multiarray.so, 2): Symbol not found: _PyBuffer_Type
  Referenced from: /usr/local/lib/python2.7/site-packages/numpy/core/multiarray.so
  Expected in: flat namespace
 in /usr/local/lib/python2.7/site-packages/numpy/core/multiarray.so

它链接2.7包..并显示错误。

(当我安装scipy和sklearn时会出现类似的问题)

如何解决问题?

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。使用pip3卸载numpy并重新安装,修复了问题。

pip3 uninstall numpy pip3 install numpy

答案 1 :(得分:-3)

避免这种情况的一种简单方法是使用anaconda安装所有这些模块。 https://www.continuum.io/downloads 这将避免您手动安装的麻烦。