pythonscipy模块可以';不能随macports安装一起导入

pythonscipy模块可以';不能随macports安装一起导入,python,osx-lion,scipy,macports,Python,Osx Lion,Scipy,Macports,我刚刚重新安装了OSX Lion,并决定使用macports获得更新的python,以及numpy、scipy、matplotlib、ipython等。经过一些小题大做之后,一切看起来都正确地安装在/opt/文件夹中,numpy、matplotlib和ipython都正常运行,但是,当我尝试在scipy中导入模块时,我遇到了一个失败,似乎又回到了稀疏模块: >>> import scipy.sparse as sparse Traceback (most recent call

我刚刚重新安装了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.sparse导入为稀疏
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/scipy/sparse/_init__.py”,第175行
从csr导入*
文件“/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/scipy/sparse/csr.py”,第12行,在
从sparsetools导入csr\u tocsc、csr\u tobsr、csr\u count\u块\
文件“/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/scipy/sparse/sparsetools/__init__;.py”,中的第4行
从csr导入*
文件“/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/scipy/sparse/sparsetools/csr.py”,第25行,在
_csr=swig\u import\u helper()
文件“/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/scipy/sparse/sparsetools/csr.py”,第21行,在swig_import_helper中
_mod=导入加载模块(“csr”、fp、路径名、说明)
ImportError:dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scipy/sparse/sparsetools//u csr.so,2):未找到符号:\ uuuuuuuu emutls\u get\u地址
引用自:/opt/local/lib/gcc45/libstdc++.6.dylib
应位于:/usr/lib/libSystem.B.dylib中
in/opt/local/lib/gcc45/libstdc++.6.dylib
导入scipy.stats或类似的东西会在同一个地方结束。我在谷歌上搜索了很多,尝试修复各种路径变量(在python解释器中和外部),以及隐藏默认的python安装(主库中的安装和/usr/?中的安装有什么区别),并重新安装了scipy,但都没有效果

我对这些东西不太熟悉,也不太熟悉——在我擦拭和重新安装之前,我曾与环保署合作过,但在获得新软件包以识别这一点时遇到了问题。我将python用于科学研究,因此并不真正理解它的本质!所以,假设我几乎不理解路径变量是什么的答案是非常值得赞赏的

所以 (a) 有没有一个简单的方法来解决上面发生的问题? (b) 我应该删除一些东西,从头开始吗?
(c) 有没有一种不费吹灰之力的方法来获取scipy、numpy、matplotlib和ipython(以及qtconsole和html笔记本所需的东西),并能够在正确的位置安装新软件包?如果可能的话,我是否应该回到EPD(他们的学术邮件对我来说失败了,所以我继续前进)?

你可以试试,它是免费的,而且通常是一个简单的安装,并配有Numpy、Scipy、matplotlib等。

我的第一个猜测是,你已经用一个工具链编译了大部分代码,但有些代码是用另一个工具链编译的。我假设要获取/opt/local/lib/gcc45,您执行了“端口安装gcc45”。但是你有没有做过任何事情来欺骗MacPorts或其他东西,用它来代替系统编译器?如果是,什么?(为什么?)!呃,显然return发了一条评论。我基本上是这样做的,除了可能我没有在正确的点上进行python_选择。那会把事情搞砸吗?奇怪的是,当我尝试停用时,它不会让我停用,因为我有依赖于它的端口——尤其是scipy。但是,从那以后,我一直在胡闹——直到我发现scipy不起作用,我才碰过gcc_select或其他东西。我将卸载这些东西,然后再试一次。也许在错误的位置进行pythong_select可能会破坏这些东西。但是读了那篇博客,我没有看到任何安装gcc45的建议,所以你显然做了比推荐的更多的工作,我仍然怀疑你的问题在于错误的gcc,而不是错误的Python。同样,停用它并重建everything.PS,我发现使用苹果的Python2.7和pip安装python模块要容易得多。(当然,你确实需要在MacPorts或其他地方获得Fortran编译器。而且你必须在Fortran安装程序存在后重建numpy,这有点麻烦。)从前,苹果的Python落后于其他两个主要版本,标题不完整,等等。,所以所有像瘟疫一样避免它的建议都是有道理的,但这些都不再是真的了。这是我以前的建议,但我无法用该版本安装其他软件包。不过,从那以后我读了更多的书,所以这可能不再是个问题。我从来没有遇到过EPD Free的问题,所以我会再试一次。不过,我对Macports有很多问题。