最近接了一个python的活,具体的就不展开,大概就是需要搭建一个服务器,接收客户端上传文件,调用算法模型,然后返回相应的数据。算法模块用的是tensorflow模块,里面一大堆东西,网上看了很多,最终还是实现了。形成了final.py这个文件。
接下来就是遇到要打包的事情了。据了解,python打包exe大概有Py2exe和pyinstaller两种方式,但是py2exe官方下载这个是很老的东西了,都没维护了,所以我果断放弃,入pyinstaller这个坑。
按照网上教程打包,在命令窗口提示:AttributeError: module 'enum' has no attribute 'IntFlag',但是最后还是提示打包成功,点击程序运行发现程序提示“unknown encoding : utf-8” 错误,我一直以为是编码格式的问题,所以第一时间就去修改了pycharm的默认编码格式,改为utf8 然后再次打包 发现还是找个问题,网上有人说万能解决编码问题就是讲文件以记事本方式打开,然后再另存为的时候选择utf8方式保存,我也照做了 发现还是不得行。陆陆续续做了很多的更改,还是不得行。
最后我想起了enum这个错误,万一是在这导致的哎,虽然打包成功了但运行不了还是有问题赛。所以又去百度了一下:AttributeError: module 'enum' has no attribute 'IntFlag'找到了https://blog.csdn.net/qq_41185868/article/details/80599336当看到pyinstaller的时候我就感觉离成功近了一大半,所以果断pip uninstall enum3.4之后再次打包就ok了