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

2023-05-16

        目前手上有一个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中看到,不会闪退。还有其他新的错误

可以根据报错修改。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python项目打包(自定义dll) anaconda3+pyinstaller 的相关文章

随机推荐

  • 字符串的排列与组合【Java 递归实现】

    我们在笔试中经常会遇到需要对字符串进行排列或者组合的题目 本篇文章对字符串的排列和组合进行递归版本的实现 如果你有更简单易懂的方法 xff0c 一定要在评论区留下来 1 字符串的组合 子序列 题目 xff1a 输入一个字符串 xff0c 输
  • 【手撕代码】多个线程交替打印

    目 录 xff1a 方法一 xff1a 锁实现 推荐 方法二 xff1a 信号量 semaphore 实现 推荐 方法三 xff1a wait notify 实现 方法四 xff1a 使用 Lock Condition 实现 面试的过程中
  • 【搞定算法】找出数组中出现次数大于数组长度一半和 N/K 的数

    博主秋招提前批已拿百度 字节跳动 拼多多 顺丰等公司的offer xff0c 可加微信 xff1a pcwl Java 一起交流秋招面试经验 目 录 xff1a 1 找出数组中出现次数大于数组长度一半的数 2 找出数组中出现次数大于数组长度
  • NVIDIA Jetson Nano 电源适配器 (供电)

    1 Jetson Nano 供电 Jetson Nano 的 micro USB 接口支持 2A 的电流 xff0c DC 供电接口支持 4A 电流 MicroUSB 在安全范围内的最大承载电流为 2A 实际项目中 CPU 满载 43 GP
  • 【搞定算法】常见算法题分类总览

    博主秋招提前批已拿百度 字节跳动 拼多多 顺丰等公司的offer xff0c 可加微信 xff1a pcwl Java 一起交流秋招面试经验 xff0c 可获得博主的秋招简历和复习笔记 完善中 由于本人平时刷题比较零散 xff0c 有时候找
  • 堆、栈的储存内容

    Java的JVM的内存可分为3个区 xff1a 堆 heap 栈 stack 和方法区 method 堆区 1 存储的全部是对象 xff0c 每个对象都包含一个与之对应的class的信息 class的目的是得到操作指令 2 jvm只有一个堆
  • 某32位系统下, C++程序,请计算sizeof 的值.

    某32 位系统下 C 43 43 程序 xff0c 请计算 sizeof 的值 void Foo 1 char str 100 cout lt lt 34 Foo 1 34 lt lt sizeof str lt lt endl char
  • python-pcl安装及使用

    在开始前 xff0c 先说明一下 xff0c pcl的库安装不简单 xff0c 不仅需要pip安装 xff0c 还需要安装C 43 43 的pcl库 xff0c 所以整个流程会比较漫长 鉴于官方参考网站的python pcl太麻烦 xff0
  • ROSBAG解析bag包教程

    一 软件安装教程 1 安装rosbag xff1a https www cnblogs com arkenstone p 6676203 html 2 安装mjepgtools和ffmpeg sudo apt get install mje
  • 双电机同步PID调试方法(二)

    由于双电机的PID上升曲线难以完全重合 xff0c 造成左右电机速度不一致 本文为了解决该问题设计了一种方法 主要思想是将不同速度对应的PWM占空比曲线拟合出来 xff0c 减1000 xff08 总10000 xff09 占空比后作为预设
  • exe打包成安装包

    前面介绍了如何将python代码打包成可执行文件 xff0c 这里再介绍一下如何将exe打包成安装包 一 安装InstallShield2015 百度云网址 xff1a https pan baidu com s 1fFGDeczPduWa
  • Python 打包成 wheel

    1 编写 setup py 在项目的根目录下外面一个文件夹创建 96 setup py 96 96 name 96 xff1a 指的是你打包后发布的名称 xff08 如 96 numpy 96 和 96 torch 96 xff09 96
  • plugins插件使用例程

    最近在看一个pyqt写的工具软件 xff0c 项目中大量使用plugins xff0c 所以了解了一下plugins的功能机制 下面简单分享一个例程 xff0c 代码结构如下 main py platform py init py plug
  • pycharm中.gitignore无效

    1 打开pycharm的命令行 xff0c 输入以下指令 git rm r cached git add 2 再次在pycharm上 xff0c 点击commit 原因 xff1a 这是因为pycharm会自动运行git add 的功能 x
  • Jetson Orin&Nx&Nano平台 FPDlink Ⅲ相机采集---双目场景应用

    1 前言 基于上次在淘宝上采购的FPDlink 相机采集套件使用一段时间之后 不少人对此方案很感兴趣的 又激发了我继续写的激情 上次帖子链接如下 Jetson Orin平台多路 FPDlink 相机采集套装推荐 bingdund的博客 CS
  • SBUS协议:SBUS解析与合成

    在说协议之前 xff0c 我想强调一点 xff1a 信号要取反 xff0c 硬件取反 xff01 xff01 xff01 xff01 xff01 至于为什么强调 xff0c 我会在后面解释 xff0c 你们先记住 SBUS协议 xff1a
  • 上海灵信视觉A4控制板

    资料准备 xff1a 1 LED Player上位机控制 xff1a em span style font size 12px http www 168led com AjaxFile DownLoadFileNew aspx FilePa
  • stm32串口一直进USART1_IRQHandler

    今天在使用USART模块 xff0c 遇到了一些问题并解决了 xff0c 于是发贴共享 问题描述 xff1a 在使用USART做串口通讯时 xff0c 我只把接收中断打开 xff0c 并设置抢占优先级为最低一个级别 xff0c 而接收中断上
  • tensorflow载入报错Process finished with exit code -1073741819 (0xC0000005)

    这几天准备在现有的软件里加上caffe来测试一种新算法 发现windows下python3 6安装caffe是真的难 xff0c 只能装好python2 7的版本就放弃了 回来继续完善软件 xff0c 又发现软件里的tensorflow不能
  • python项目打包(自定义dll) anaconda3+pyinstaller

    目前手上有一个python 43 pyqt的项目需要打包 xff0c 所以查了一下打包的方法 下面介绍一下具体步骤 xff1a python打包有很多方法 xff0c py2exe xff0c pyinstaller等等 xff08 其实我