用pyinstaller打包Python失败,pyinstaller打包失败

  用pyinstaller打包Python失败,pyinstaller打包失败

  Pytorch在python中应用广泛,打包容易失败。主要介绍Pyinstaller在打包Pytorch框架时遇到的问题,非常详细,有一定的参考价值。感兴趣的朋友可以参考一下。

  00-1010前言基本流程1。安装Pyinstaller并测试Hello World 2。打包整个项目,在本机调试生成exe 3。在新电脑上测试参考资料。

  

目录

  第一次尝试用Pyinstaller打包Pytorch,遇到了很多问题,花了很多时间!我想把这个过程中遇到的问题和解决方法记录下来,方便后来者。

  

前言

  使用Pyinstaller的打包过程可以分为以下三个步骤:

  安装Pyinstaller,写一个Hello world包测试,打包整个项目,在本机调试生成exe,将exe复制到新电脑,测试调试。

  

基本流程

  使用Pycharm打开项目,单击Terminal,然后输入以下命令:

  安装pyinstaller

  请确保Terminal的路径是项目的根目录,以免后续打包过程中找不到某些模块。图中的红框(pytorch)是我的项目需要的虚拟环境。

  编写Hello World测试并创建一个新测试。py:

  if __name__==__main__:

  print(Hello World!)

  而True:

  及格

  在终端中输入以下命令以打包test.py:

  pyinstaller -F测试. py

  进入并开始打包!在文件夹dist中找到test.exe程序,运行测试,没有错误表明Pyinstaller安装成功。

  

一、安装Pyinstaller 和 测试Hello World

  实际项目通常是多文件的,打包过程比Hello World复杂很多。包装项目有两个核心点:

  配置.spec文件以完成依赖项.有关的详细信息,请参见参考链接1。spec文件配置,这里不再赘述。需要注意的是,在测试阶段,包要设置为-D模式,方便完成dll。本文主要研究dll及其依赖关系的完成。首先,安装必要的工具依赖项。通过这个工具,我们可以得到。dll文件。运行打包的exe时经常会遇到以下问题:3360

  这说明我们的系统缺少caffe2_nvrtc.dll或者其对应的依赖关系。

  首先去相应的路径看看caffe2_nvrtc.dll是否存在。如果不存在,直接在Anaconda配置环境的文件夹里搜索,一般都能找到。将找到的caffe2_nvrtc.dll复制并粘贴到根目录.如果它存在,这意味着在caffe2_nvrtc.dll.缺少依赖项使用Dependencies工具检查所需的依赖项,然后填充它们。在根目录.使用依赖关系非常简单,只需拖动。dll到它里面。以torch_python.dll为例。

  可以发现少了几个dll文件,补一下就好了。通过以上方法,基本可以解决dll报错的问题。

  但是每次重新打包后,手动复制粘贴dll文件是非常麻烦的。正在配置。规格文件可以简化操作。打开。在记事本中指定并查找数据:

  括号中有两条路径。第一个路径“kernel32.dll”表示原始数据路径和存储kernel32.dll的路径。第二个路径是“.”,它指示目标路径和打包后存储原始数据的路径。意思是把第一条路径里的东西打包,放到第二条路径上。应该注意,我在这里设置了一个相对路径,与。规格。

  

二、打包整个项目,在本机上调试生成exe

  我用的是pytorch的GPU版本。在新电脑上运行会报告以下错误,应该是因为缺少cuda库。

  我的解决方法简单粗暴,直接把cuda包复制到移动硬盘。

  每次你去一台新的计算机,添加cuda到环境变量。

  建议在程序中设置一个附加选项,将网络切换到CPU推理,这样在测试其他电脑时,即使环境配置不成功,也可以通过CPU推理验证打包成功。最后祝大家好运。包装成功是一大乐事!

  

三、在新电脑上测试

  Python项目(不是单一的。py文件)由Pyinstaller打包并发布为exe。在windos上运行程序分享pyinstaller打包的经验和一些错误的解决方法~ ~依赖项安装链接在这里。本文介绍Pyinstaller在打包Pytorch框架时遇到的问题。更多相关Pyinstaller包Pytorch内容,请搜索热门IT软件开发工作室以前的文章或继续浏览下面的相关文章。希望你以后能支持风行IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: