很好的一天,
当我试图用pyinstaller创建一个独立的(--onefile)exe时,遇到了一个奇怪的错误。执行过程找不到两个.dll,即使它们已正确打包到exe中并正确放置到
temp/_MEIPASSxxxxx
文件夹在运行时,如下面的屏幕截图所示。这不会在开发计算机上发生。
.
由于
this thread
程序在查找它们方面没有问题,所以问题只在于二进制文件,而不是数据。而且,在--onedir模式下也没有问题,只有--onefile。
这是我的规格:
# -*- mode: python -*-
block_cipher = None
import sys
sys.setrecursionlimit(5000)
added_binaries = [
("python36.dll", "."),
("api-ms-win-crt-runtime-l1-1-0.dll", ".")
]
added_data = [
("PilotageIcon.png", "."),
("PilotageREADME.pdf", ".")
]
a = Analysis(['Pilotage.py'],
pathex=['C:\\Users\\local-adm\\Desktop\\Lucas\\Keithley\\2018 07 18'],
binaries=added_binaries,
datas=added_data,
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name='Pilotage',
debug=True,
strip=False,
upx=True,
runtime_tmpdir=None,
console=True,
icon='PilotageIcon.ico'
)
我在这里读了很多其他的文章,但它们不符合我的情况
很明显文件在那里
所以我不明白为什么会出错。提前谢谢。
python版本:3.6.3
PyInstaller版本:3.3.1