2010-07-08 102 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