python 使用 pyinstaller 打包
1、下载pyinstaller
pip install pyinstaller
2、在当前目录下生成 .spec 文件
注意,这行命令在生成文件的时候,也打包了输出物
pyinstaller --name=pytasker main.py --onefile --specpath=.
2.1、生成的目录结构
D:.
│ main.py
│ pytasker.spec
│
├─build
│ └─pytasker
│ │ Analysis-00.toc
│ │ base_library.zip
│ │ EXE-00.toc
│ │ PKG-00.toc
│ │ pytasker.pkg
│ │ PYZ-00.pyz
│ │ PYZ-00.toc
│ │ warn-pytasker.txt
│ │ xref-pytasker.html
│ │
│ └─localpycs
│ pyimod01_archive.pyc
│ pyimod02_importers.pyc
│ pyimod03_ctypes.pyc
│ pyimod04_pywin32.pyc
│ struct.pyc
│
└─dist
pytasker.exe
2.2、.spec 文件内容
如果需要打包依赖,则需要在 hiddenimports
中导入模块
# -*- mode: python ; coding: utf-8 -*-
a = Analysis(
['main.py'],
pathex=[],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
noarchive=False,
optimize=0,
)
pyz = PYZ(a.pure)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.datas,
[],
name='pytasker',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=True,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
)
[!NOTE]
在
hiddenimports
中导入内容示例hiddenimports=[ 'pyaudio', 'websockets', 'webrtcvad', 'struct' ],
3、打包命令
pyinstaller pytasker.spec
标签:00,False,python,pytasker,pyinstaller,pyc,打包
From: https://www.cnblogs.com/jarico/p/18439342