使用Pyinstaller将.py转换为.exe后,程序无法找到正确的txt文件位置

时间:2018-04-03 18:59:56

标签: python pyinstaller

我目前正在尝试将我的python程序转换为可执行文件,但是当我转换它并运行.exe文件时,它会抛出错误{{1}}。

我尝试根据用户输入读取和写入文本文件。有没有办法让我的程序找到正确的文本文件,以便我可以让exe文件工作?

1 个答案:

答案 0 :(得分:0)

如果您的程序依赖于其他文件,则可以使用Pyinstaller spec files将其包含在程序中。规范文件包含创建程序的所有说明,包括Pyinstaller无法找到的其他数据文件或缺少的模块。我强烈建议你使用它。

spec文件如下所示:

block_cipher = None
a = Analysis(['minimal.py'],
     pathex=['/Developer/PItests/minimal'],
     binaries=None,
     datas=[ ('src/README.txt', 'myfiles') ],
     hiddenimports=[],
     hookspath=None,
     runtime_hooks=None,
     excludes=None,
     cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
     cipher=block_cipher)
exe = EXE(pyz,... )
coll = COLLECT(...)

您需要提供给您的程序的文件位于datas=。在此示例中,您将在电脑的readme.txt文件夹中将文件src添加到捆绑应用中的文件夹myfiles