2014-09-26 58 views
13

爲了在我們公司內部實現python項目,我需要製作一個可安裝的發行版。構建一個python項目的輪子/雞蛋和所有依賴項

這應包括:

  • 爲我的項目
  • 一個雞蛋或WHL這個項目
  • (可選)產生requirements.txt文件列出所有安裝的每個依賴一個雞蛋或WHL這個版本的組件

是否有一個簡單的插件,(例如bdist_wheel的替代品),不僅可以編譯一個輪子,還可以編譯該項目的組件?

很明顯,我可以編寫腳本,但我希望可以通過更少的步驟構建包+依賴關係。

這需要在Windows + Linux上的Python 2.7上工作。

回答

17

您將需要爲您的軟件包創建一個setup.py文件。確保安裝了最新的setuptools和pip。然後運行以下命令:

python setup.py bdist_wheel 

這將爲您的包創建一個輪盤文件。這假定你沒有C/C++頭文件,DLL等。如果你這樣做,那麼你可能會有更多的工作要做。

要獲得的依賴,你將要創建一個requirements.txt文件並運行以下命令:

pip wheel -r requirements.txt 

如果你的包是不是PyPI上,那麼你就必須到你的包的輪手動複製文件到該命令創建的輪盤。欲瞭解更多信息,請參見下面的優秀文章:

16

隨着最新pipwheel,你可以在你的項目文件夾內,即使簡單地運行

pip wheel . 

,您的應用程序ISN對PyPi。所有車輪將存儲在./wheelhouse。當我嘗試它時,它錯過了我的一個依賴關係,我需要手動構建它。不知道爲什麼。

+0

它在pypi上搜索我的本地軟件包,因此失敗。相反,我先運行'python setup.py bdist_wheel',然後爲pypi包運行'pip wheel -r requirements.txt'。 – guneysus 2016-10-04 11:44:57

相關問題