2010-07-08 99 views
0

我在mac os 10.6上安装matplotlib时遇到问题,所以我使用了macports并安装了它所需的所有依赖项,这很好,但是在它之上新增了一个python版本。现在我有两个python版本,这让我困扰。 matplotlib在macport python上工作正常,其余的东西都是默认的python。 什么是将两者整合为一体的最佳解决方案,以及将哪一个用作默认python?使用macports安装matplotlib后安装了额外的python

我试图将所有包从我的默认python /defaultPython/../site-packages复制到/opt/../site-packages。同样的事情是在macports python的PYTHONPATH上添加/defaultPython/../site-packages。有些做得很好,但不是全部。

例如在

import scipy.sparse 

我得到这个错误

import _csr 
ImportError: dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/scipy/sparse/sparsetools/_csr.so, 2): no suitable image found. Did find: 
    /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/scipy/sparse/sparsetools/_csr.so: no matching architecture in universal wrapper 

任何想法或脏定为这?

非常感谢!

回答

1

您不应该删除或更改Apple提供的Mac OS X系统Python - 这是他们测试其操作系统的特定版本,而且您确实不想打破。

如果你想使用方便的macports安装的扩展,你需要的macports版本的Python用于这个目的,所以你不能删除。

没有真正的理由担心,因为你的系统上有多个Python版本(我通常在我的系统上至少有6个;-)。

只要把/opt/...(无论MacPorts的保持它的bin目录中)在你的PATH环境变量(例如,在.bashrc)开始,并确保您使用的MacPorts Python中,你需要有任何扩展安装。

+0

感谢您的快速回复。 /opt/...已经添加到我的PATH中。 我希望能够调用一个脚本,比如python test.py,它从两个脚本中导入包。我的matplotlib与macports一起安装,其余的我的软件包以我的默认版本安装。任何想法如何做到这一点? – Oliver 2010-07-08 23:47:20

+0

@Oliver,你想做的事情是不可能的:你只需要安装所有在Python的_same_版本上的给定脚本中直接或间接使用的包,然后使用该版本运行脚本。 – 2010-07-09 00:01:02

+0

谢谢亚历克斯。我编辑了这个问题。也许你知道这个问题的解决方法? – Oliver 2010-07-09 00:40:23