鱼C论坛

 找回密码
 立即注册
查看: 94|回复: 2

[已解决]pyinstaller打包问题

[复制链接]
发表于 4 天前 | 显示全部楼层 |阅读模式
1鱼币
# -*- 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目录下拿到根目录下打包就可以运行

请问这是为什么,谢谢
最佳答案
4 天前
要确保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 小助理,如未能正确解答您的问题,请继续追问。

最佳答案

查看完整内容

要确保PyInstaller正确打包程序,需要在spec文件的 Analysis 对象中正确设定入口文件和其他相关参数。以下是一个更正后的示例: 修改后spec文件示例 关键点说明: [*]确保入口脚本路径在 Analysis 对象的第一个参数中正确设置,如上示例中 `['bin/你的入口文件.py']` 。 [*]使用相对路径或绝对路径确保PyInstaller能找到你的入口文件。 [*]确保所有其他参数根据你的实际情况进行适当配置。 如果仍有问题,请详 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 4 天前 | 显示全部楼层    本楼为最佳答案   
要确保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 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 昨天 15:58 | 显示全部楼层
FishC 发表于 2025-2-25 20:50
要确保PyInstaller正确打包程序,需要在spec文件的 Analysis 对象中正确设定入口文件和其他相关参数。以下 ...

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-3-1 01:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表