cx_Freeze(不推薦)
以前只用 cx_Freeze 支持將 python3 打包成 exe ,示例如下:
在你要打包的 python 文件下新建這個 setup.py 文件:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from cx_Freeze import setup, Executable
base = None
executables = [
Executable('你的代碼.py', base=base)
]
setup(
name="TTyb",
version="1.0",
description="打包示例",
executables=executables
)
然后在當前命令行執行:
python3 setup.py build
這時候會在當前目錄下生成一個 build 文件,里面就有一個 exe
注意: cx_Freeze 打包回忽略依賴文件,所有一般依賴文件要手動從 site-packge 里面拷貝到build文件里面去,特別麻煩!
PyInstaller(推薦)
后面 PyInstaller 開始支持 python3 打包,這樣子打包就方便很多了,直接在當前命令行下:
#命令語法:pyinstaller -F 文件名(帶后綴py)
#常用參數說明:
#–icon=圖標路徑
#-F 打包成一個exe文件
#-w 使用窗口,無控制台
#-c 使用控制台,無窗口
#-D 創建一個目錄,里面包含exe以及其他一些依賴性文件
#pyinstaller -h 來查看參數
#將cmd的目錄切換至(命令:cd 文件路徑(注意空格))需要打包的py文件目錄下:
#有命令窗口彈出
pyinstaller -F shjys_rjjqk.py
#無命令窗口彈出
pyinstaller -F -w shjys_rjjqk.py
#或者
pyinstaller -F shjys_rjjqk.py --noconsole
打包好的exe文件,在同目錄的 dist 文件中,如果有依賴文件,就可以放到dist文件夾下即可
當打包出現錯誤:
for real_module_name, six_moduleAttributeError: 'str' object has no attribute 'items'
說明 setuptools 版本不行,直接更新這個版本就好:
pip3 install -U setuptools
我的博客即將同步至騰訊雲+社區,邀請大家一同入駐:https://cloud.tencent.com/developer/support-plan?invite_code=3qlzjs99fq4gg
