lawrence1357 发表于 3 天前

pyinstaller打包问题

# -*- mode: python ; coding: utf-8 -*-



a = Analysis(
    ['bin//run.py'],
    pathex=['bin'],
    binaries=[],
    datas=[("db//users","db//users"),("db//goods","db//goods"),("conf//config.ini","conf"),("log","log")],
    hiddenimports=[],
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    noarchive=False,
    optimize=0,
)
pyz = PYZ(a.pure)

exe = EXE(
    pyz,
    a.scripts,
    [],
    exclude_binaries=True,
    name='run',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    console=True,
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
)
coll = COLLECT(
    exe,
    a.binaries,
    a.datas,
    strip=False,
    upx=True,
    upx_exclude=[],
    name='run',
)


a = Analysis(
    ['bin//run.py'],

入口文件在bin目录下不能运行

a = Analysis(
    ['run.py'],
把入口文件从bin目录下拿到根目录下打包就可以运行

请问这是为什么,谢谢

FishC 发表于 3 天前

要确保PyInstaller正确打包程序,需要在spec文件的 Analysis 对象中正确设定入口文件和其他相关参数。以下是一个更正后的示例:

修改后spec文件示例


# -*- mode: python ; coding: utf-8 -*-

block_cipher = None

a = Analysis(
    ['bin/你的入口文件.py'],
    pathex=['.'],
    binaries=[],
    datas=[],
    hiddenimports=[],
    hookspath=[],
    runtime_hooks=[],
    excludes=[],
    noarchive=False
)
pyz = PYZ(a.pure, a.zipped_data)

exe = EXE(
    pyz,
    a.scripts,
    exclude_binaries=True,
    name='run',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    console=True,
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None
)

coll = COLLECT(
    exe,
    a.binaries,
    a.zipfiles,
    a.datas,
    strip=False,
    upx=True,
    upx_exclude=[],
    name='run'
)


关键点说明:

[*]确保入口脚本路径在 Analysis 对象的第一个参数中正确设置,如上示例中 `['bin/你的入口文件.py']` 。
[*]使用相对路径或绝对路径确保PyInstaller能找到你的入口文件。
[*]确保所有其他参数根据你的实际情况进行适当配置。


如果仍有问题,请详细描述错误信息,以便进一步排查。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

lawrence1357 发表于 5 小时前

FishC 发表于 2025-2-25 20:50
要确保PyInstaller正确打包程序,需要在spec文件的 Analysis 对象中正确设定入口文件和其他相关参数。以下 ...

谢谢
页: [1]
查看完整版本: pyinstaller打包问题