以前都是在做嵌入式的程序,最近为了配合一个产品,做了一个pc端的UI软件,选用了Python来做,Python3.1+PyQT4.7.2,程序做的差不多了,准备打包,在网上找了找,有各种方法可以来做,比如py2exe,pyinstaller,cx_freeze,最后选用了cx_freeze。
由于我的程序里头加载了serial模块,但编译的时候老是报错:
Traceback (most recent call last): File "C:\Python32\lib\site-packages\cx_Freeze\initscripts\Console3.py", line 27, in <module> exec(code, m.__dict__) File "my_serial_program.py", line 1, in <module> import serial File "C:\Python32\lib\site-packages\serial\__init__.py", line 19, in <module> from .serialwin32 import * File "C:\Python32\lib\site-packages\serial\serialwin32.py", line 12, in <module> from . import win32 ImportError: cannot import name win32
找了很久没有找到办法解决,后来想了一个绕过去的办法:1. 修改serial目录下的文件:serialwin32.py
#from . import win32 ——> import win32
2. 将serial目录下的win32.py文件拷贝到程序目录下
3. 在setup.py文件中添加include["win32"]
打包PyQt程序
最新推荐文章于 2024-02-27 21:34:48 发布