打開命令窗口進入到程序所在目錄下
1.使用命令pyinstaller -p C:\Python27\Lib\site-packages\zmq SpiderTaskDistributor.py 打包程序
-p參數是添加的pyinstaller打包程序時的掃描路徑,pyinstaller的掃描路徑有可能不完整,造成打包後的可執行文件運行時出現“找不到指定的模塊”的錯誤。
2.在當前目錄下生成兩個文件夾build和dist,一個.spec文件
在build文件夾下有一個warnSpiderTaskDistributor.txt文件,這裏面會有關於缺少模塊的日誌
在dist/SpiderTaskDistributor文件夾下有可執行文件SpiderTaskDistributor.exe
3.在dos下運行SpiderTaskDistributor.exe,提示錯誤:
根據提示,將pkgutil模塊所在的文件C:\Python27\Lib\site-packages\protobuf-3.0.0b3-py2.7.egg\google\__init__.py和C:\Python27\Lib\site-packages\protobuf-3.0.0b3-py2.7.egg\google\protobuf\__init.py__中代碼註釋掉(可以保留__version__ = ‘x.x.x’這行代碼)。(圖片中顯示的是另一臺主機上的測試)
5.在代碼目錄下,重新使用命令生成可執行文件。這時的文件應該是正常的了。
參考:
http://www.cnblogs.com/chjbbs/archive/2014/01/25/3533187.html
http://jingyan.baidu.com/article/a378c960b47034b3282830bb.html
https://www.crifan.com/use_pyinstaller_to_package_python_to_single_executable_exe/