gpt4 book ai didi

python - Pyinstaller exe 无法在其他计算机上运行(使用其他 Windows 版本)

转载 作者:行者123 更新时间:2023-12-05 09:35:38 27 4
gpt4 key购买 nike

我的平台是 Windows 10 和 Python 3.9。还有另一台没有Python的计算机(Windows server 2008R2)。所以我想在我的电脑上使用 pyinstaller,在另一台电脑上使用 .exe

我尝试了简单的脚本 print("hello") 并使用了 pyinstaller -F myscript.py

.exe 在我的电脑上运行,但在另一台电脑上失败。

错误加载 python dll ~ python39.dll 时出错

我应该使用 Python 3.8 吗?或者我应该怎么做?

最佳答案

问题是 Pyinstaller 不会创建完全独立的可执行文件,它会创建依赖项(例如这个 python39.dll),所以这个 python39.dll 应该在运行这个可执行文件的计算机上。因为您的计算机上已经安装了 python,所以 python39.dll 已经存在并且一切正常。问题是您运行此程序的机器可能没有它。

要解决这个问题,有几种解决方案:

  1. 在目标机器上安装 python 3.9(但在这种情况下你不需要创建可执行文件)
  2. 在你的程序中包含 python39.dll

对于第二种解决方案,只需创建一个文件夹并将您的可执行文件以及这个 python39.dll 库移动到其中。 Windows 会找到它,因为它与该可执行文件位于同一目录中。您可以从 c:\Windows\System32 文件夹(或所有 DLL 存储在您的系统上的位置)获取此库,然后将其复制到包含您的可执行文件的文件夹中。之后,不仅发布可执行文件,还发布包含库的文件夹。

@Stepan 在评论中写道,您还可以通过在编译时向命令中添加 --add-binary "path\to\python39.dll" 将此库直接包含在可执行文件中。最终命令将如下所示:

pyinstaller -F --add-binary "c:\Windows\System32\python39.dll"myscript.py

关于python - Pyinstaller exe 无法在其他计算机上运行(使用其他 Windows 版本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65704901/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com