2014-11-06 78 views
1

嗨,我試圖創建一個執行python代碼的exe文件。無法正確地將Py2exe編譯爲一個exe文件

如果我做一個沼澤標準編譯如下設置:

from distutils.core import setup 
import py2exe, sys, os, Tkinter, ttk, collections, itertools 

setup(
    windows = [{'script': "sortSimi.py"}], 
) 

它工作正常。除了事實上Dist文件夾是巨大的和unweildy。 如果我再嘗試使用下面的安裝文件,以便它編譯成一個EXE:

from distutils.core import setup 
import py2exe, sys, os, Tkinter, ttk, collections, itertools 


setup(
    options = {'py2exe': {'bundle_files': 1, 'compressed': True}}, 
    windows = [{'script': "sortSimi.py"}], 
    zipfile = None, 
) 

它編譯但後來當我運行exe它只是掛起。我檢查過taskmanager。它運行約10秒,然後消失。沒有GUI或任何東西出現在屏幕上。

怎麼回事?

編輯: 如果我改變了「窗口」行:

console = ["sortSimi.py"] 

然後它會打開一個cmd窗口,然後通知我,該程序沒有響應。 我也嘗試使用第一個安裝文件和'-b 1'參數來從命令行調用捆綁,而不是安裝文件,同樣的問題。

回答

1

bundle_files = 1在很多情況下工作不正常。

我使用bundle_files = 2並定義zipfile = r'lib\library.zip',然後用InnoSetup將批次打包到一個文件安裝程序中。

如果大小是一個問題,那麼你可能想要定義excluded = []dll_excludes = []列表。

+0

即使使用bundle = 2選項,它仍然不起作用。 – ashgetstazered 2014-11-06 23:50:14

+1

你需要提供更多細節!一個沒有大量依賴關係和setup.py的小型可運行示例。請同時提及您正在使用的版本。 – Werner 2014-11-07 07:39:08