【发布时间】:2021-06-12 00:03:37
【问题描述】:
我有两个 EXE 文件,实际上都是 python 脚本,使用 pyinstaller 转换(Using Auto Py to Exe)。
file1.exe : 是应用程序。 file2.exe : 是license app,它会检查license,如果ok就执行file1,否则就退出。
我的问题是当我将两个exe文件合并到一个exe文件中时,file2.exe找不到file1.exe,除非我将它复制到同一目录。
pyinstaller 命令:
pyinstaller -y -F --add-data "D:/test/file1.exe";"." "D:/test/file2.py"
现在我应该有这样的东西:
file2.exe
+------- file1.exe
但是每次我运行 file2.exe 时都会出现这个错误
WinError 2] 系统找不到指定的文件:'file1.exe'
直到我将 file1.exe 复制到同一个目录(因为它忽略了我已经将它合并到 pyinstaller 中) 所以文件树看起来像这样:
file1.exe
file2.exe
+------- file1.exe
file2 中启动 file1 的命令行是:
os.system('file1.exe')
我该如何解决这个问题?
【问题讨论】:
-
显示使用该文件的代码。这看起来像是脚本中路径的问题。检查pyinstaller.readthedocs.io/en/stable/…
-
您是否有理由不将两个 Python 脚本捆绑到一个 .exe 中?看起来这比捆绑一个然后将它捆绑到另一个(一旦你的路径工作)更有效。
-
@CrazyChucky,是的,因为提到的第二个文件是检查许可证。所以使用这种方法会更容易。
-
您仍将运行两个完整的 Python 运行时。
-
@buran,嗨,我已经在执行 file1.exe 时提供了类似 file2.exe 的命令。
标签: python pyinstaller