如何使用 pyinstaller 使用 torch 模块制作 exe 文件?

Posted

技术标签:

【中文标题】如何使用 pyinstaller 使用 torch 模块制作 exe 文件?【英文标题】:How do I make exe file with torch module by using pyinstaller? 【发布时间】:2021-11-22 18:07:24 【问题描述】:

[环境]

vscode 蟒蛇 窗口

我在 vscode 中成功运行 main_for_exe.py。

但是,当我使用 pyinstaller 创建 exe 文件然后运行 ​​exe 文件时,出现以下错误消息。

enter image description here

有一些解决方案:“将模块添加到 hiddenimports”

enter image description here

但是,它不起作用。

“os”、“sys”等python基本模块加载成功,但出现“No module named numpy”错误提示。所以,我认为'pip'和'conda'安装的模块没有加载。

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

无论base还是其他虚拟conda环境,我们都需要先激活它,然后在集成终端执行命令pip install,模块才能找到正确的位置,否则会抛出No module错误。

现在在 VS Code 中打开你的项目,激活 anaconda 环境后,运行pip show numpy 来检查它的位置是否为anaconda\lib\site-packages。如果没有,请重新安装,然后重新生成.exe,错误应该会消失。

参考:Select and activate Environment。

【讨论】:

谢谢,不过我通过升级 pyinstaller 解决了这个问题。【参考方案2】:

我解决了这个问题!

我刚刚升级了 pyinstaller 包。

好像pyinstaller包在升级前找不到anaconda安装的模块所在的site-package路径。 (一般site-packe路径:“~/anaconda3/lib/site-packages”)

在这种情况下,有两种解决方案。

    首先,您只需升级 pyinstaller。 其次,将站点包路径添加到 hookspath,然后运行“pyinstaller main.spec”。

【讨论】:

您可能会接受此答案作为解决方案,让更多有类似问题的人找到它。 我接受了这个答案。谢谢!

以上是关于如何使用 pyinstaller 使用 torch 模块制作 exe 文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用pyinstaller打包python文件为exe文件

如何将 Subprocess.popen() 与 pyinstaller 一起使用?

如何使用 pyinstaller 包含文件?

PyTorch | torch.zeros()怎么使用? torch.view(-1)如何使用?

如何使用 pyinstaller 创建可独立运行的 QML 地图?

如何使用 torch.stack 函数