python项目打包(自定义dll) anaconda3+pyinstaller

8 篇文章 0 订阅
6 篇文章 0 订阅

        目前手上有一个python+pyqt的项目需要打包,所以查了一下打包的方法。下面介绍一下具体步骤:

python打包有很多方法,py2exe,pyinstaller等等(其实我也就知道这两种)。py2exe要自己写setup.py,

太麻烦。用了pyinstaller。

        1.用命令行安装pyinstaller:(要在工程所在的环境里安装)

pip install pyinstaller

        如何进入自己工程所在的环境,我使用anaconda3的tensorflow-cpu。而F:\python\label_tensorflow_cpu

就是我的工程所在目录。接着输入pip install pyinstaller,我安装过了,就不安装了。

        2.然后用pyinstaller打包,就是运行以下命令。(pyinstaller的命令看这篇https://blog.csdn.net/jirryzhang/article/details/78881512

pyinstaller -D -i ./icons/AutoLabel1.ico labelImg.py

         这时成功的话会显示successfully。


         

         3.工程的根目录(F:\python\label_tensorflow_cpu)下面会多出两个文件夹:build & dist。

         

         4.点开dist找到.exe,双击运行会发现报错或者闪退。这是缺少运行时所需的包。

         5.找到python的包,全部复制到根目录底下(F:\python\label_tensorflow_cpu\dist\labelImg)。

我的python包是在anaconda3下自己创建的tensorflow-cpu环境,所以去目录(D:\Anaconda3\envs\

tensorflow-cpu\Lib\site-packages\)下找。

 

         6.然后双击dist中的exe(F:\python\label_tensorflow_cpu\dist\labelImg\labelImg.exe),即可运行。

         

         此外我在看别人教程的时候,都要求安装pywin32(https://blog.csdn.net/qq_35203425/article/details/78568141

教程)。注意一点,pywin32有32位和64位之分,这个对应的是python的版本。

 

 

 

 

 

 

         

         对于自定义dll的打包,有很多坑,下面一一介绍:

坑一:自定义的dll,导入时用ctypes.windll.LoadLibrary(trackDllPath),这里的是我dll所在的位置。这里原本

           放的是相对路径,结果自己的电脑运行没有问题,在别人电脑上如何都不能运行。最后我将其放在根

           目录底下,即可运行。

坑二:如果你的dll生成txt文本等数据。这时根据你cmd的路径不同,它生成的位置也不同。如下面两张图,

           生成的txt就在不同的路径底下,就是由于在不同路径的cmd下打开。这个坑很隐蔽,我就是之前已经

           打包好可以使用了,突然发现找不到dll生成的txt了。

坑三:打包好的软件在其他电脑上运行,需要安装vs2015的库。这个坑了我很长时间。

 

         最后,最好把exe拉进cmd中运行,这样程序出错,可以在cmd中看到,不会闪退。还有其他新的错误

可以根据报错修改。

  • 5
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值