2015-06-15 56 views
4

如何將包含啓動腳本和包的整個應用程序打包爲PEX文件?目錄結構是這樣的:將整個Python應用程序打包爲PEX文件

|- venv 
|- start.py 
|- packagename 
|-- otherfile.py 

我可以收拾start.py文件是這樣的:

cd <project directory> 
. venv/bin/activate 
pex -r requirements.txt -o build/application.pex -e start:main 

但是當我嘗試運行application.pex文件,我得到:

ImportError: No module named 'start' 

我做錯了什麼,還是pex剛壞了?

回答

0

Pex公司並沒有真正似乎做非爲模的腳本 - 它具有出現做你後,但在實踐中有什麼似乎總是掉入一個解釋一個選項...

我最終做的是將它封裝在一個腳本中,該腳本將裸體腳本(包含main())並將其放入模塊中,然後將該模塊與依賴關係一起添加,並使用-e提供入口點。安裝和初始化相當簡單,只需在/ tmp中寫出一些地方即可,它在實踐中運行良好 - 包裝腳本可以進行理智檢查等等(取決於您的構建環境成立)。

{記得在臨時模塊的設置中設置「zip-safe」標誌!!}

+0

你能詳細說明你改變了什麼嗎?仍然有同樣的問題 – stantonk

相關問題