2012-04-03 40 views
1

我已經使用外部庫(lxml-module)構建了一個Python應用程序。這在我的系統中運行良好。有沒有什麼辦法可以編譯這個代碼或打包這段代碼,這樣我就可以在另一個沒有安裝這個外部庫(lxml-module)模塊的系統中運行它了?如何在沒有所需外部庫模塊的其他系統上運行我的Python代碼?

如果可能的話,請給我一點關於* .pyd的參考嗎?

+0

閱讀關於雞蛋,以及如何描述依賴關係。 – Marcin 2012-04-03 10:53:59

+1

爲什麼你不能在目標系統上簡單地安裝'lmxl'到'PYTHONPATH'有什麼特別的理由? – 2012-04-03 10:54:34

回答

0

對於Windows包起來使用py2exe,爲OSX使用py2app而對於Linux,可能使用cx_freeze

+0

我不認爲OP想要將所有的Python與應用程序捆綁在一起。 – 2012-04-03 14:50:25

1

PyInstaller是去包裝你的代碼的好方法。

它在配置/製作/構建工作流程中工作(在此之前,您可以使用不同類型的選項設置一個小規格文件)。外部軟件包將隨您的應用程序一起發貨。

PyInstaller支持lxml:http://www.pyinstaller.org/wiki/SupportedPackages

至於能夠在另一臺機器上編譯您的代碼,Marcin有一個很好的建議。

+0

謝謝你爲我工作。 – Vivek 2012-05-03 11:29:03

0

您可以隨時將模塊複製到本地路徑並從那裏導入。 django爲json做了什麼,直到它被包含在標準庫中。

這可能做的伎倆:

try: 
    import lxml 
except ImportError: 
    import myownmodules.lxml as lxml 

我知道這是不那麼「高科技」的做法,但如果問題很簡單,這是什麼,我會不眨眼做。

此外......我們的好友蒂姆似乎同意:「如果實施很容易解釋,這可能是一個好主意。」

相關問題