2013-01-07 81 views
1

是否可以收集許多Python擴展並一步安裝它們?我有一個用於開源項目的Python構建環境,通常需要在多臺機器上重新創建。每次我們需要這樣做時,雙擊一堆python擴展exes是件很痛苦的事情。如何在一個步驟中安裝多個python擴展

理想情況下,我想包一個完整的編譯環境,Python和擴展,系統環境變量,以及所有,成一個步安裝過程。但是單步擴展安裝也是有幫助的。這可能嗎?

+0

當你說'安裝'時,你究竟是什麼意思? PyInstaller類型的可執行文件,.egg,pip? – PenguinCoder

+0

當你說「擴展名」時,你的意思是特指一個「Python擴展模塊」,它是用C語言編寫的模塊嗎?或者,您是否將「擴展」用作「庫」的另一個詞,可能是純Python,C擴展模塊或兩者的組合? –

+0

另外,你想擁有這一切安裝在應用程序依賴的方式(只有一個程序,或使用自動安裝的每個程序,將有機會獲得這些擴展名),或你的意思的方式來安裝擴展任何在系統上運行的python程序都可以使用它們? –

回答

9

是的,你可以做到這一點...你已經安裝在系統中pip(python indexed package)? 如果不是,然後再進行安裝......並把所有的擴展成一個單一的文本文件...說... requirements.txt

這是通過運行

pip freeze > requirements.txt

進行再經使用PIP你可以安裝它...使用此命令...

pip install -r requirements.txt ...

它將安裝文件中提到的所有擴展...

,你可以找到PIP封裝這裏pip 可以幫助你......

+1

爲pip添加了凍結命令。 – sean

+0

+1。您可能還需要查看軟件包索引功能,以便可以包含實際的軟件包以及凍結的需求文件。有關詳細信息,請參閱[此處](http://www.pip-installer.org/en/latest/usage.html#alternate-package-repositories)及以下版本。 – abarnert

1

您可以與Distribute定義包的依賴關係,並使用easy_install或當你問到安裝包pip將安裝所有的依賴。

+0

因此,一個空的包,其中setup.py只有依賴關係? – Rich

+0

@這可能是一個選擇,當然。我一直都在爲我的客戶設置做這件事。 :-)但這是web服務器,所以它有點特別。 –