2010-09-08 67 views
7

所以我有一個依賴於幾個模塊的python腳本。特別是焦慮和pyinoitify。我知道你可以在windows中編譯一個python腳本到.exe中,但是在linux中有沒有相對等價的東西?我不關心它是一個二進制文件,我只是希望能夠分發我的腳本,而不需要單獨安裝pexpect和pyinotify。這可能/值得嗎?在linux中編譯python腳本

回答

6

cx_Freeze是一種將Python腳本「凍結」爲獨立二進制形式的跨平臺方法。根據他們的網站:

cx_Freeze是一組腳本和 模塊爲多,py2exe和py2app做同樣的方式 凍結Python腳本 成可執行文件。不像 這兩個工具,cx_Freeze是交叉 平臺,應該可以在任何Python本身工作的 平臺上工作。 它需要Python 2.3或更高版本,因爲它使用在 版本中引入的zip導入 工具,因爲它使用 。

1

一般來說,如果第一行是

#!/usr/bin/env python 

和文件有 「X」 的模式設置(chmod +x yourfile.py

然後,它的可執行文件。無需編譯。

是的,人們必須安裝你所依賴的東西。 (a)更簡單,(b)如果他們確實進行了安裝,那麼他們就不那麼令人驚訝了,所以他們知道發生了什麼。

+2

問題是關於分發腳本及其依賴關係,而不僅僅是執行腳本。 – katrielalex 2010-09-08 20:15:23

0

在linux中,儘量避免這樣的事情。大多數軟件包管理器都很好地處理依賴關係,只是分發你的腳本並告訴它需要什麼依賴關係。

+1

包管理器與python模塊有什麼關係? – Falmarri 2010-09-12 05:20:52

+0

將你的模塊作爲一個包進行分發,並聲明它所需的其他模塊包的依賴關係。問題解決了(儘管不可移植)。 – tripleee 2013-12-31 06:55:31