我有一個python(2.7)代碼,它有一個gui(Tkinter)和另一個模塊。我試圖讓它成爲一個.exe文件,但有奇怪的結果。以下是兩種情況:py2exe exe在發佈後立即關閉
沒有名爲py2exe的模塊:我使用Canopy 64位製作python腳本。由於它是64位,我下載了py2exe的64位版本for python 2.7並安裝。在安裝過程中,py2exe安裝程序會自動查看我的頂蓋路徑,並在安裝後檢查是否安裝了py2exe模塊。我檢查並看到py2exe文件夾和模塊在Canopy/Libs中。所以它看起來像是正確安裝的,但是當我進入cmd時,更改目錄,然後
python myscript.py py2exe
,它表示no module named py2exe
。如果我啓動64位IDLE和import py2exe
,它會導入。所以我嘗試安裝py2exe的32位版本。在安裝期間,它會看到C:/ Python27,所以我將它安裝在那裏,如果我調用py2exe,但是32位可以,則64位IDLE無法導入。當我執行
python myscript.py py2exe
時,使用32位版本的py2exe,它將我的腳本編譯爲一個.exe文件。但是,當我雙擊.exe文件時,cmd窗口將在打開後立即打開並關閉。
我已經檢查過其他類似的主題,但沒有人幫助過我,因爲64位安裝不提供名爲py2exe的模塊,這很奇怪。任何幫助將不勝感激,在此先感謝。
注意:我的系統變量路徑中有C:/ Python27,我的用戶變量路徑中有Canopy路徑。
更新情況1:當我開始樹冠命令提示符和CD從那裏,然後按照一般步驟,py2exe開始運行,但卡在:MSVCP90.dll: No such file or directory
,並退出
更新:原來這是關於我的進口。問題僅在導入matplotlib時發生。與Tkinter,xlrd和numpy導入,它的工作原理沒有問題,但是當我導入matplotlib,它給了我關於msvcp90.dll的錯誤。如果我從我的gui中刪除所有matplotlib導入,它會編譯,但是當我嘗試啓動.exe時,它會啓動一個cmd窗口,該窗口立即關閉。
也許與[沒有名爲py2exe的模塊](https://stackoverflow.com/questions/9559601/no-module-named-py2exe?rq=1)相關。看到並告訴我們你的py2exe軟件包的版本是什麼? – smci
午餐後我也一樣。 – percusse
首先,嘗試通過cmd控制檯運行.exe文件,而不是雙擊它。這樣,cmd窗口不會消失,您將能夠看到它拋出的錯誤,然後發佈。那麼我們將能夠更好地幫助你。 –