我刚刚重新安装了 OSX Lion 并决定使用 macports 来获取更新的 python,以及 numpy、scipy、matplotlib、ipython 等。经过一些大惊小怪之后,一切看起来都正确安装在/opt/文件夹中,以及 numpy、matplotlib和 ipython 运行正常,但是当我尝试在 scipy 中导入模块时,我遇到了一个似乎回到稀疏模块的失败:
>>> import scipy.sparse as sparse
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scipy/sparse/__init__.py", line 175, in <module>
from csr import *
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scipy/sparse/csr.py", line 12, in <module>
from sparsetools import csr_tocsc, csr_tobsr, csr_count_blocks, \
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scipy/sparse/sparsetools/__init__.py", line 4, in <module>
from csr import *
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scipy/sparse/sparsetools/csr.py", line 25, in <module>
_csr = swig_import_helper()
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scipy/sparse/sparsetools/csr.py", line 21, in swig_import_helper
_mod = imp.load_module('_csr', fp, pathname, description)
ImportError: dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scipy/sparse/sparsetools/_csr.so, 2): Symbol not found: ___emutls_get_address
Referenced from: /opt/local/lib/gcc45/libstdc++.6.dylib
Expected in: /usr/lib/libSystem.B.dylib
in /opt/local/lib/gcc45/libstdc++.6.dylib
导入 scipy.stats 或类似的东西最终会出现在同一个地方。我搜索了一堆并尝试修复各种 PATH 变量(在 python 解释器中和外部),以及隐藏默认的 python 安装(s?主库中的那个和/usr/中的那个有什么区别? ) 并重新安装 scipy 但这什么也没做。
我对这些东西不是很熟悉或不太舒服 - 在我删除和重新安装之前我正在使用 EPD,但是在让新包识别它时遇到了问题。我将 python 用于科学的东西,因此并没有真正理解它的胆量!因此,非常感谢假设我几乎不了解 PATH 变量是什么的答案。
所以 (a) 是否有一种简单的方法来修复上面发生的任何事情? (b) 我应该删除一些东西并从头开始吗? (c) 是否有一种非痛苦的方式来获取 scipy、numpy、matplotlib 和 ipython(加上 qtconsole 和 html 笔记本所需的东西),并能够在正确的位置安装新包?如果可能的话,我是否应该回到 EPD(他们的学术电子邮件对我来说失败了,所以我继续前进)?
请您参考如下方法:
你可以试试 Enthought Python Free distribution ,它是免费的,通常很容易安装,并且带有 Numpy、Scipy、matplotlib 等。
