为了在没有python环境的机器上执行一些python脚本,首先需要将其打包成可执行文件。目前常用的打包方法有:
    py2exe
    pyinstaller
    其中py2exe不支持python3.7,使用时会报错。

    pyinstaller的安装比较简单,pip正常安装即可,使用起来也比较简单:

    1. pyinstaller XX.py

    但是最近在使用过程中出现了一些问题,具体描述如下:

    1. 针对特别简单的python文件,可以正常打包,
    2. 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’

    然后,我知道我电脑的环境该重装了……