看板 Python 關於我們 聯絡資訊
py2exe 把你的Python打包起來丟到沒有安裝Python環境的電腦執行 要打包的時候在Command下執行 Python Setup.py py2exe 注意路徑是否正確,你要打包的.py檔案、附加的檔案、Icon檔等等都要在同個路徑下 範例1:基本的Setup.py from distutils.core import setup import py2exe setup(console=["hello.py"]) hello.py是你要打包的檔名,可以改成你的xxx.py 如果你打包的是GUI,console要改成window,可是我目前沒用過就是 範例2:使用指定的Icon圖示和把特定要的檔案包進去 from distutils.core import setup import py2exe setup( console = [{"script": 'hello.py', 要帶一些東西必需要加script "icon_resources": [(1, "Online-icon.ico")],}], 設定你執行檔的Icon data_files=[('.',["a.xxx","b.xxx","c.xxx"])], 你要附帶的檔案,上面的意思是放在該目錄下,然後把a.xxx、b.xxx、c.xxx也帶進去 若你要指定新增目錄的話,可以改成這樣 data_files=[('afolder',["a.xxx"]),('bfolder',["b.xxx"]),('cfolder',["c.xxx"])] 這樣會把三個檔案丟進對應的folder ) 看了些文章說py2exe在包Python2.6會有一些問題,導致包出來的東西無法在別的windows 下使用,我目前用的不多,所以暫時沒有遇到這問題... 以下這個是把所有檔案都包進去.exe,附加檔案則不會包進去 from distutils.core import setup import py2exe includes = ["encodings", "encodings.*"] #include encodings. options = {"py2exe": { "compressed": 1, "optimize": 2, "includes": includes, "bundle_files": 1 } } setup( console = [{"script": 'hello.py', #python name. "icon_resources": [(1, "Online-icon.ico")],}], #use custom icon. data_files=[('.',["a.xxx","b.xxx","c.xxx"])], #add files. version = "0.0.0.3", #version number. options = options, #use options config. zipfile=None, #package library.zip to exe. ) ※ 編輯: etime 來自: 114.45.137.95 (07/07 22:08)
cobrasgo:哇,有這種東西啊 07/08 18:56
aitjcize:[py2exe在包Python2.6會有一些問題...]這句,個人經驗是 07/10 23:47
aitjcize:在Win7下,他會copy到一些win7-only的dll,所以變成在xp 07/10 23:48
aitjcize:上不能跑,只要刪掉就可以了 07/10 23:48
ykjiang:我 pyinstaller 用比較順手 07/13 19:44
etime:原本我也是用pyinstall,可是後來還是覺得py2exe比較好用.. 07/13 19:56
ironmanstock:是不是只要copy dist 的目錄到另一台電腦就夠了 07/18 02:54
Laputaet3:是的 07/19 18:17