使用Mac OSX 10.8.5和Python 2.7.8。 Python是使用MacPorts安裝的,我已經驗證MacPorts安裝目前是我正在使用的那個。我在將某些軟件包導入MacPorts安裝時遇到問題,特別是當其中一個安裝的軟件包與System Python使用的較舊版本衝突時。作爲一個例子,我已經驗證在我的sys.path中安裝了一個系統包,導致導入當前版本的Numpy時出現問題。從python sys.path永久刪除某些東西
python
>>> import numpy
>>> numpy.__version__
'1.6.1' #Bad Version
python
>>> import sys
>>> sys.path.remove('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python')
>>> import numpy
>>> numpy.__version__
'1.9.0' #Good Version
的問題是,「/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python」從未明確地加入到$ PYTHONPATH或$ PATH通過常規手段,所以我不知道它是如何被添加到sys.path。我想永久阻止從這個路徑導入東西。
我已經嘗試過:
我就在這裏的答案閱讀site.py What sets up sys.path with Python, and when?然而,當我試圖在這個問題解決方案,他們不工作。我嘗試手動編輯site.py並將語句sys.path = filter (lambda a: not a.startswith('/System'), sys.path)
添加到main()函數。然而,即使在將聲明寫入site.py中後,仍然會出現錯誤的路徑.py
錯誤的路徑來自我的計算機操作系統使用的目錄,因此刪除/ System/Library下的numpy路徑不是一個選項。有沒有什麼辦法可以解決我的問題,保留'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python'下的文件自動添加到sys.path?