【问题标题】:Error when running tests of scipy and numpy on OS X Snow Leopard在 OS X Snow Leopard 上运行 scipy 和 numpy 测试时出错
【发布时间】:2011-11-08 22:09:49
【问题描述】:

我是 stackoverflow 和 Python 的新手,我希望使用 stackoverflow 来学习和改进我的 Python 编程。

但是,当我在我的 Mac 上设置 Python、SciPy、NumPy 时,当我尝试运行 SciPy 和 NumPy 的完整测试来验证安装时遇到了问题:

>>> import scipy
>>> scipy.test()
Running unit tests for scipy

Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    scipy.test()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/testing/nosetester.py", line 318, in test
    self._show_system_info()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/testing/nosetester.py", line 187, in _show_system_info
    nose = import_nose()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/testing/nosetester.py", line 69, in import_nose
    raise ImportError(msg)
ImportError: Need nose >= 0.10.0 for tests - see http://somethingaboutorange.com/mrl/projects/nose

按照错误消息的建议,我通过 easy_install 安装了这个“nose”包,安装似乎成功了,因为我从 bash 获得了以下信息:

mlstr:~ mlstr$ nosetests -V
nosetests version 1.1.2

所以我再次尝试了 SciPy 测试,但失败并显示相同的消息。有人可以让我知道我是否需要做任何其他事情来安装/配置鼻子,以便它可以被 SciPy 和 NumPy 的单元测试使用。提前致谢。

更新 #1:在尝试了 Rahul 的使用 pip 重新安装鼻子的建议之后,我想我已经找到了问题所在:每当我从 bash 执行 easy_install 或 pip 时,软件包都会安装到Python 2.6 目录而不是 2.7 目录。我认为这是因为默认情况下,Snow Leopard 附带的是 2.6。那么我应该怎么做才能告诉 easy_install 或 pip 我想为 Python 2.7 安装一个特定的包呢?谢谢。

更新 #2:通过跟进我上面的更新,我在这里找到了解决方案:easy_install with various versions of python installed, mac osx。这确实是因为我使用了错误版本的 easy_install,因此我的鼻子安装是针对 Mac OS X 附带的 Python 2.6。谢谢。

【问题讨论】:

    标签: python numpy osx-snow-leopard scipy nose


    【解决方案1】:

    我尝试复制您遇到的错误。我没有鼻子,所以我遇到了同样的错误。

    我使用 pip 安装了鼻子

    sudo pip 安装鼻子

    之后 scipy.test() 工作。我什么也没做。您是否使用 pip 安装了鼻子?如果没有,请尝试使用 pip。

    我的机器有:
    SciPy 版本 0.10.0.dev
    鼻子 - 1.1.2

    【讨论】:

    • 我通过easy_install安装了nose,会有什么不同吗?有什么方法可以验证我的鼻子安装吗?谢谢。
    • @MLister 验证您是否安装了 nose import nose 不应通过异常。
    【解决方案2】:

    如果您想使用本地安装的 python 版本,您需要确保从控制台运行 python 时会调用它。

    在 linux 机器上,别名可以做到这一点。从控制台运行正确的 python 后,所有 easy_install 的东西都将在正确的 python 版本中可用。

    【讨论】:

    • 感谢您的建议。我已更新我的原始问题以包含解决方案。
    猜你喜欢
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-24
    • 1970-01-01
    • 1970-01-01
    • 2010-11-30
    相关资源
    最近更新 更多