为了在没有python环境的机器上执行一些python脚本,首先需要将其打包成可执行文件。目前常用的打包方法有:
py2exe
pyinstaller
其中py2exe不支持python3.7,使用时会报错。
pyinstaller的安装比较简单,pip正常安装即可,使用起来也比较简单:
pyinstaller XX.py
但是最近在使用过程中出现了一些问题,具体描述如下:
- 针对特别简单的python文件,可以正常打包,
- opencv + numpy + pyQt 实现的一个工程以前是可以正常打包的,但是现在竟然报错,具体错误信息:
UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in position 109: invalid continuation byte
随后经过百度得知需要在之前修改编码,在执行pyinstaller指令之前更改编码:
chcp 65001
但是之后仍会出错:
ImportError: numpy.core.multiarray failed to import
这次报错是在提示 numpy 版本不对,但是更新numpy之后仍旧有错,而且 numpy.core.multiarray 是可以正常导入的。后来经过其他途径更新numpy之后,终于出现了不一样的报错:
ModuleNotFoundError: No module named ‘typedefs’
然后,我知道我电脑的环境该重装了……