[範例] py2exe

看板Python作者 (etime)時間15年前 (2010/07/07 13:44), 編輯推噓3(305)
留言8則, 6人參與, 最新討論串1/1
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)

07/08 18:56, , 1F
哇,有這種東西啊
07/08 18:56, 1F

07/10 23:47, , 2F
[py2exe在包Python2.6會有一些問題...]這句,個人經驗是
07/10 23:47, 2F

07/10 23:48, , 3F
在Win7下,他會copy到一些win7-only的dll,所以變成在xp
07/10 23:48, 3F

07/10 23:48, , 4F
上不能跑,只要刪掉就可以了
07/10 23:48, 4F

07/13 19:44, , 5F
我 pyinstaller 用比較順手
07/13 19:44, 5F

07/13 19:56, , 6F
原本我也是用pyinstall,可是後來還是覺得py2exe比較好用..
07/13 19:56, 6F

07/18 02:54, , 7F
是不是只要copy dist 的目錄到另一台電腦就夠了
07/18 02:54, 7F

07/19 18:17, , 8F
是的
07/19 18:17, 8F
文章代碼(AID): #1CD1HQG3 (Python)
文章代碼(AID): #1CD1HQG3 (Python)