在win7 64位系统上
python版本是2.7.3,MSC v.1500 64位(AMD64)
PyInstaller版本是3.4,用pip安装的。
遇到的问题如下:
(1)PyInstaller没安装好,解决办法:重装PyInstaller,然后写一个简单的测试py文件,将其打包成exe,运行成功,则说明PyInstaller环境安装好。
(2)import zmq库后,使用zmq的类和方法,将其打包成的exe,运行总是提示:停止运行(提示是libzmq.pyd文件的c00000fd错误。解决的方法的将
I found libzmq.pyd located C:\Python27\Lib\site-packages\zmq. I copied it to C:\Python27\Lib\site-packages\zmq\backend\cython. Re-run pyinstaller.
将C:\Python27\Lib\site-packages\zmq文件夹(个人python安装目录可能不同,自己去找这个文件)中libzmq.pyd文件拷贝一份,放到 C:\Python27\Lib\site-packages\zmq\backend\cython文件夹中,重新打包。如果这样,还是打包出来的exe提示停止运行,libzmq.pyd库的问题,那就用下面的方面解决:
卸载当前pyzmq版本,安装pyzmq低版本,比如我就是pyzmq-17.1.2-cp27-cp27m-win_amd64.whl 版本,卸载后,在这里https://pypi.org/project/pyzmq/#history
安装16.0.4版本的pyzmq,安装后还是要把C:\Python27\Lib\site-packages\zmq文件夹中libzmq.pyd文件拷贝一份,放到 C:\Python27\Lib\site-packages\zmq\backend\cython文件夹中。
重新用PyInstaller打包,打包出来的exe就可以正常运行。
(稍后我会测试其他版本,大家也可以留言,把自己的环境贴出来)
经测试:
打包成exe,停止运行的有:
可以正常运行的有:
接下来我会测试利用pyzmq的源码包进行编译和安装,测试经过Pyinstaller打包后的exe能否正常运行。
经测试,对源码包进行手动build ,install安装后,PyInstaller打包后的exe可以正常运行:
无法正常运行的有:
参考:
https://github.com/zeromq/pyzmq/issues/999
https://stackoverrun.com/cn/q/8954392