【问题标题】:Unable to import python modules (numpy, scipy, matplotlib)无法导入 python 模块(numpy、scipy、matplotlib)
【发布时间】:2018-01-11 00:45:23
【问题描述】:

我使用以下教程安装 Python、numpy、scipy 和 matplotlib:

https://penandpants.com/2012/03/01/install-python-2/

我下载了每个并通过双击安装。我使用的是 OS X Yosemite 版本 10.10.5 的 Mac

当我尝试在 IDLE 中导入 numpy、scipy 和 matplotlib 时,我收到以下错误消息:

`>>> import numpy

Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    import numpy
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/__init__.py", line 137, in <module>
    import add_newdocs
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/add_newdocs.py", line 9, in <module>
    from numpy.lib import add_newdoc
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/lib/__init__.py", line 4, in <module>
    from type_check import *
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/lib/type_check.py", line 8, in <module>
    import numpy.core.numeric as _nx
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/__init__.py", line 5, in <module>
    import multiarray
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/multiarray.so, 2): no suitable image found.  Did find:
    /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/multiarray.so: no matching architecture in universal wrapper`

谁能告诉我如何解决这个问题?

谢谢

【问题讨论】:

    标签: python python-2.7 numpy matplotlib scipy


    【解决方案1】:

    使用终端并输入

    sudo pip install numpy
    sudo pip install matplotlib
    sudo pip install scipy 
    

    对于 python3+ 使用 pip3

    【讨论】:

    • 或者安装在用户级别,而不是系统级别:pip install --user numpy scipy matplotlib.
    • 执行此操作后,我得到了响应:要求已经满足:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages 中的 numpy。然而,尝试在 IDLE 中导入时,我仍然遇到错误。您认为我使用的 numpy 等版本有问题吗?
    • 我从终端强制以 32 位模式启动了 IDLE,现在导入工作正常。谢谢大家
    【解决方案2】:

    我不能确定你的安装出了什么问题,但我怀疑这是由于一些PATH-conusion... Python 2.7 和 Numpy 应该默认安装在你的 Mac 上。

    如果您运行命令which python,您将看到python-commands 调用的是哪个可执行文件...与您安装的那个相同吗?

    如果你在终端写python,然后按两次tab,你看到安装的python版本有多个选项吗?

    替代安装方法

    我更喜欢 Anaconda Python Distribution,您可以像 full versionminimal version 一样下载它,这是我更喜欢的一个。

    如果你安装了这个,你应该考虑卸载你刚刚安装的那个。

    以下是安装迷你版的方法: 下载安装程序,并通过在安装程序文件夹中打开终端并运行命令bash Miniconda2-latest-MacOSX-x86_64.sh 来运行它。这将启动基于文本的安装程序,如果您阅读屏幕上的说明,就可以了。 请注意,您必须滚动到许可协议的末尾,然后才能在被要求接受所述条款时写yes

    当它询问您是否愿意将 Anaconda Python 添加到您的路径时,请说 yes

    Anaconda Python 与其他 Python 发行版的不同之处在于它带有自己的包和环境管理器conda。使用 conda,您可以同时安装多个 Python 版本(或相同 Python 版本的多个环境,但使用不同的包或包版本)。

    要使用 Python 2.7 创建名为 py27 的新环境,请编写 conda create -n py27 python=2.7 --yes。创建后,通过source activate py27 激活环境。 随着新环境现在处于活动状态,请使用 conda:conda install scipy matplotlib --yes 安装您需要的软件包。 我还建议安装 Ipython,它是一个改进的 shell,可能还有 Jupyter notebook:conda install ipython --yesconda install notebook --yes

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2014-08-17
      • 2012-09-06
      • 2015-02-06
      • 1970-01-01
      • 1970-01-01
      • 2017-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多