所以,我有一個程序,我在python 2.6中,它運行正常的python,並通過py2exe v0.6.9進入exe文件時運行良好。我用signtool簽名,沒有改變任何東西,它停止工作。輸出py2exe exe將不會運行時只有簽名:ImportError
當我運行簽名的exe文件時,我從腳本的第1行收到一個「ImportError:No module named os」。我做了一些挖掘,發現這個:http://osdir.com/ml/python.py2exe/2008-04/msg00031.html,這似乎是我的問題的一個非常接近的描述。我手動將從py2exe網站鏈接到我的build_exe.py文件,雖然我運行py2exe 0.6.9而不是0.6.6,所以我試圖考慮到這一點。仍然沒有愛。
根據鏈接,這似乎是一個py2exe問題。但我不知道。任何幫助將非常感激。當然,我會回答您對此有任何其他問題。謝謝您的幫助!
解決方法如下(不使用py2exe!)。問題是py2exe需要在可執行文件末尾包含包含模塊的ZIP壓縮文件。 'signtool.exe'在文件末尾增加了一些數據,所以py2exe無法讀取檔案,因此無法導入任何模塊。 – leoluk
這很有道理,謝謝你的解釋。 – nixjdm