2010-04-28 22 views
0

我想在我的Mac上從源代碼安裝Python。 (OS X 10.6.2,Python-2.6.5.tar.bz2)我以前做過這個,很容易,但由於某種原因,這一次在./configuremake之後,sudo make install把東西放在我的家中目錄,而不是在/ usr/local/...我期望的地方。該.py文件都還好,但不是.so文件...如何在Mac OS X上停止將Python安裝到我的主目錄中?

RobsMac的Python 2.6.5 $ sudo的使安裝
[...]
的/ usr/bin中/安裝-c -m 644 ./Lib/anydbm.py /usr/local/lib/python2.6
/usr/bin/install -c -m 644 ./Lib/ast.py /usr/local/lib/python2.6
/USR /斌/安裝-c -m 644 ./Lib/asynchat.py /usr/local/lib/python2.6
[...]
運行build_scripts
運行install_lib
創建/用戶/搶劫/圖書館/ Python
創建/Users/rob/Library/Python/2.6
創建/Users/rob/Library/Python/2.6/site-packages
複製構建/ lib.macosx-10.4 x86_64-2.6/_AE.so - >/Users/rob/Library/ Python/2.6/site-packages
複製build/lib.macosx-10.4-x86_64-2.6/_AH.so - >/Users/rob/Library/ Python/2.6/site-packages
複製構建/ lib.macosx-10.4 x86_64-2.6/_App.so - > /用戶/搶劫/庫/ 的Python/2.6 /站點包
[...]

後來,這導致進口那個請求重新那些.so文件失敗。對於 例如...

RobsMac的Python 2.6.5 $蟒蛇
的Python 2.6.5(R265:79063,2010年4月28日,13點40分18秒)
[GCC 4.2.1公司(Apple Inc.在darwin上編制5646)(點1)]
輸入「幫助」,「版權」,「信用」或「許可證」以獲取更多信息。
> > >進口的zlib
回溯(最近通話最後一個):
   文件 「」,1號線,在
導入錯誤:沒有模塊名爲zlib的

任何想法有什麼不好?

感謝, 羅布

回答

2

Doh。我已經回答了我自己的問題。最近我創建了一個〜/ .pydistutils.cfg文件,出於一些愚蠢的原因。我忘了刪除那個文件。它的內容是:

[安裝]
install_lib =〜/圖書館/ Python的/ $ py_version_short /站點包
install_scripts =〜/ bin中

make install電話setup.py,並且該文件已被重寫正常setup.py行爲。

Rob

0

你檢查的參數或變量做出預期?可能有一個make變量可以用來覆蓋該行爲。無論如何,你有沒有試過MacPorts?這可能是您嘗試完成的更好的解決方案。

1

一般來說,如果系統中已經有可用的Python,或者有包管理器會爲您安裝,那麼安裝Python(或任何直接來自源代碼的東西)並不是一個好主意。我強烈建議您不要手動安裝Python ... Mac OS X 10.6 Snow Leopard附帶Python 2.6開箱即用;如果你想要更新版本的Python 2。6,那麼你應該安裝的MacPorts,並使用:

 
sudo port install python26 python_select 

然後,您可以使用python_select到系統的版本和MacPort的版本之間切換。

如果您決定從源手動安裝,那麼運行「make distclean」(或再次單獨解壓縮代碼),然後運行「./configure --help」爲完整的配置選項列表。在Mac OS X上,它可能默認爲/ usr/local以外的其他名稱,在這種情況下,您可以通過使用「./configure --prefix =/usr/local」調用configure來強制它在該位置安裝。

+0

我知道OS X的默認Python和包管理器,但在我的情況下我想從源代碼構建。 (我使用Python構建軟件,我需要一個完全可以控制的版本。)我輸入了「./configure」。正如我上面所說的,它將大部分內容放在/ usr/local中,這是OS X上的默認前綴。它只是放在其他地方的.so文件。一些開源的東西在Mac上不能很容易編譯,但是使用Python它可以像在Linux上一樣容易地工作,而Python站點則說源碼tarball適用於Linux,Unix,OS X.我將研究更多在嘗試MacPorts之前。 – 2010-04-28 07:54:42

+0

@Rob,我還是不明白你爲什麼不能使用系統的Python版本。您是否知道Mac的Python版本也有「easy_install」,您可以使用它安裝您需要的任何軟件包? – 2010-04-28 08:09:34

+0

我想要2.6.5版本的改進版本(我的OS X 2.6.2)。我也想在我的開發環境(筆記本電腦)中使用與我在現場Web服務器上相同的版本。第三,我有大型Python項目的經驗,在這些項目中有用或有必要更改編譯選項。第四,我學習口譯員,有時候想在C代碼中使用。 – 2010-04-29 13:50:03