pyinstallercompiled代码中的外部数据文件在python中存在问题

2024-04-27 09:53:46 发布

您现在位置:Python中文网/ 问答频道 /正文

所以,我的应用程序有一个readme.txt文件,我在程序中添加了一个东西,如果我做了什么,它会打印readme.txt文件的内容。当我编译我的应用程序时,我使用了pyinstaller,并且我修改了.spec文件以包含readme.txt,因此我可以在编译时使用它。但问题来了:现在,如果我自己启动应用程序,并选择显示自述文件,它会给出一个找不到文件的错误。但是如果我在cmd中启动应用程序,它显示它没有问题。我能做些什么使它在不使用cmd的情况下毫无问题地打印文件的内容(如果有帮助,该应用程序是命令行的。在编译成.exe时,我也没有使用任何--onefile,顺便说一句,我在Windows 10上)

编辑:有人要求我在.spec文件中添加“分析”部分,因此如下所示:

a = Analysis(['main.py'],
             pathex=['C:\\Users\\edyal\\Documents\\Programming\\Python\\KhempinKonxhugtoh'],
             binaries=[],
             datas=[('readme.txt', '.')],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher)

Tags: 文件程序txtcmdfalse应用程序内容错误