我是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 测试,但失败并显示相同的消息。如果我需要做任何其他事情来安装/配置 nose,以便 SciPy 和 NumPy 的单元测试可以使用它,有人可以告诉我。提前致谢。
更新 #1:在尝试了 Rahul 关于使用 pip 重新安装 nose 的建议之后,我想我已经找到了问题所在:每当我从 bash 执行 easy_install 或 pip 时,程序包都会安装到Python 2.6 目录而不是 2.7 目录。我认为这是因为默认情况下 2.6 是 Snow Leopard 附带的版本。那么我应该怎么做才能告诉 easy_install 或 pip 我想为 Python 2.7 安装一个特定的包?谢谢。
更新 #2:通过跟进我上面的更新,我在这里找到了解决方案:easy_install with various versions of python installed, mac osx .这确实是因为我使用了错误版本的 easy_install 因此我的 nose 安装是针对 Mac OS X 附带的 Python 2.6。谢谢。
最佳答案
我尝试重现您遇到的错误。我没有 Nose ,所以我遇到了同样的错误。
我用pip安装了nose
sudo pip install nose
在那之后 scipy.test() 起作用了。我什么也没做。您是否使用 pip 安装了 nose?如果没有,请尝试使用 pip。
我的机器有:
SciPy 版本 0.10.0.dev
Nose - 1.1.2
关于python - 在 OS X Snow Leopard 上运行 scipy 和 numpy 测试时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8057777/