我正在尝试使用pyInstaller将python脚本编译成独立的可执行文件。
我的脚本包含两个数据文件,分别名为“ input.txt”和“ output.txt”,可以在脚本的根文件夹中找到这两个文件。
以下是使用文件的脚本:
input_file = open('input.txt', 'r')
output_file = open('output.txt', 'w')
当我在pyCharm中运行它,读取input.txt和写入output.txt时,它可以完美地工作。
要使用pyInstaller将其编译为可执行文件,我使用了.spec文件:
a = Analysis(['KHTools.py'],
pathex=['/Users/rafaelcarmo/PycharmProjects/KHTools'],
binaries=[],
datas=[ ('input.txt', '.'), ('output.txt', '.') ],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
这些文件是在可执行文件的根文件夹中创建的,甚至包含与原始文件相同的数据,因此我认为这是成功的.spec创建。
但是,当我运行代码时,出现错误:
Traceback (most recent call last):
File "KHTools.py", line 62, in <module>
FileNotFoundError: [Errno 2] No such file or directory: 'input.txt'
[17561] Failed to execute script KHTools
我真的不明白。该文件位于捆绑包(input.txt)中,其内容与原始文件中的内容相同,并且会返回此错误。
有人知道我做错了吗?