更新:打包后运行exe提示no model named usb,同样把site-packages下USB文件夹拷到打包的根目录,打包后exe是能正常打开的。但是实际上USB无法正常使用,提示Nobackendavailable。查了资料,原因是缺少libusb*.dll。网上解决办法也很多,大多比较复杂。这里依旧简单粗暴,把libusb0.dll拷贝到打包后的Mainwindow根目录下,USB通信不再报错。

(检索libusb0.dll可用Everything,超级好用)

作为一个硬件工程师,最近不务正业搞了个三轴机械臂工装,搞了底层MCU代码,上位机用python开发。

此前python仅用于工作中的数据处理,这是第一次正经用python写上位机,因此需要打包成exe可以给其他人用。

代码用pycharm写的,打包需要先“win+r”,运行cmd,通过“pip install pyinstaller”来安装这个打包工具。

网上打包的方式大概看了下,主流有两种,一种是直接pyinstaller -F main.py -p xxx.py打包,打包后main.exe自己独立在dist路径下,其他文件依旧在外面。另一种是先生成.spec中间文件,通过修改这个spec再来打包成最终的exe。

试了两种方式,第一种自己其实也会生成spec,但是打包后文件太乱,不好传递给别人,这里选择第二种。

打包后长这样

这里我的主文件是Mainwindow.py,其他文件放在Mechanical_arm里面。

cd进这个目录,执行pyi-makespec Mainwindow.py,生成spec文件。打开spec文件,

这里需要修改的只有红框处,把你需要打包的其他副文件一起包进去,如果跟Mainwindow在同一路径下则不需要加路径。然后在同一路径下,再执行pyinstaller -D Mainwindow.spec

打包完成后,在dist\Mainwindow可以找到这个可执行文件。给别人时,整个Mainwindow拷贝走就好,很方便。

双击这个exe运行我们的程序, 很完美,一个乌漆嘛黑的调试窗口一闪而过,如果不是我眼睛采样率够高,我都不知道它实际是有反应的。发生了什么错误呢?不知道...

旁边坐了一个软件的同事,随口问了下他打包python后执行一闪而过,怎么处理。他告诉我用截图工具,在窗口一闪而过时把它截图截下来,看下报错内容是什么。好家伙,这是要拼手速,窗口停留时间目测在0.5s内啊!截了几次,总算截到一点,看到“most call...”没了...遂百度,方法一是在main文件里加一个输入语句input("please input any key to exit!"),方法二是直接cd进目录,用'.\xxx.exe'执行。直接采用方法二,总算看到了,原来是no model named serial。

早就听说这个打包工具常丢包,这是把串口包给丢了。遂百度,各种 -p xxx ----hidden-import xxx 试了各种方式,包括增加环境变量把模块路径\Lib\site-packages,无果,依旧提示找不到。

直接把site-packages目录下的serial文件夹拷贝到打包的根目录一试,竟然OK了...

记录于此,当做自己的调试笔记吧

不定期更新技术文章

pythoninstaller打包多个py 文件_python多文件打包exe相关推荐

  1. python压缩文件夹下的所有文件_python压缩文件夹内所有文件为zip文件的方法

    这里讨论使用Python解压如下五种压缩文件: .gz .tar .tgz .zip .rar 简介gz: 即gzip,通常只能压缩一个文件.与tar结合起来就可以实现先打包,再压缩. tar: li ...

  2. python编程头文件_python头文件怎么写

    本文主要以python2为例.首先介绍一下Python头文件的编程风格,然后再给大家详细介绍import部分的基本用法.这两个部分就是Python中头文件的组成模块. 编程风格#!/usr/bin/e ...

  3. python def return 文件_python基础-文件处理与函数

    1. 文件处理 1.1 文件处理流程 1.打开文件,得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 1.2 文件读取模式r r文本模式的读,在文件不存在,不会创建新文件 f = ...

  4. python检测文件夹中新增文件_python检测文件夹变化,并拷贝有更新的文件到对应目录的方法...

    检测文件夹,拷贝有更新的文件到对应目录 2016.5.19 亲测可用,若有借鉴请修改下文件路径: 学习python小一个月后写的这个功能,属于初学,若有大神路过,求代码优化~ newcopy.py: ...

  5. unity webgl读写txt文件_python Files文件读写操作

    今天学习python的Files文件读写操作,并记录学习过程欢迎大家一起交流分享. 首先新建一个文本文件test.txt,内容如下: hello worldhello youhello mehello ...

  6. python编程头文件_python头文件的编程风格

    python头文件的编程风格 发布时间:2020-09-03 10:23:25 来源:亿速云 阅读:96 作者:小新 小编给大家分享一下python头文件的编程风格,希望大家阅读完这篇文章后大所收获, ...

  7. python调用接口获取文件_python接口文件使用说明

    首先, python 接口文件在安装好的 darknet 目录下的 python 文件夹,打开就 可以看到 这里的 darknet.py 文件就是 python 接口 用编辑器打开查看最后部分代码: ...

  8. python创建多个文件_Python创建文件夹与文件的快捷方法

    这篇文章主要给大家介绍了关于Python创建文件夹与文件的快捷方法以及批量创建文件夹的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学 ...

  9. python发送文件_Python大文件传输

    socker_server.py: 实现功能:获取yaml中的文件信息,用soket进行文件传输(TCP+三次握手) socker_client.py: 实现功能:利用server端传过来的文件信息做 ...

最新文章

  1. Android开发--Notification和PendingIntent
  2. Mysql用navicat查看建表语句
  3. burpsuite插件的使用
  4. html中怎么获取搜索框中的值,百度API 搜索框,获取相应的地点的uid
  5. MySQL now()函数
  6. PCL之点云分割算法概述
  7. Installshield2008教程
  8. c语言如何用气泡法编程最大 最小值,[c语言冒泡排序法]C语言冒泡排序法详解
  9. opencontrail 2.20
  10. 一篇讲透图表操作:趋势类比较类占比类分布类图表
  11. 西数打造面向数据中心的Gold产品组合
  12. CSC申请成功经验(自动化到生物信息,德国KIT-CSC攻博)
  13. linux wrf 系统_WRF在Linux环境下的安装
  14. [2019 icpc徐州] H.Yuuki and a problem 带修改的主席树(主席树+树状数组)
  15. 脚本--给win10下载的哔哩哔哩视频进行重命名
  16. 西门子S7-300/400 PLC下载
  17. Java-PTA 无聊的小明来数1
  18. 《大数据技术与应用》课程记录
  19. Python由来以及用途
  20. 一道肤浅、奇葩、却又常常让人阴沟里翻船的面试题

热门文章

  1. linux下的iptables火墙的管理
  2. 王者服务器为什么在5月20日维护,王者荣耀4月20日更新到几点?4月20号登陆不了如何解决?...
  3. 金三银四,一篇文章解决简历和面试
  4. 1.10 打造自带涨粉体质的小红书号,原来是有方法的【玩赚小红书】
  5. CSS基础--颜色、字体、背景、边框等
  6. php++++ksort,php数组函数序列之ksort
  7. 关于一次服务优化的总结和思考
  8. 用SQLite数据库制作的账号密码管理软件
  9. 【简短测评】百元内蓝牙无线耳机,帮你避坑
  10. office word 2007