pyinstaller
usage: pyinstaller-script.py [-h] [-v] [-D] [-F] [--specpath DIR] [-n NAME]
[-p DIR] [--hidden-import MODULENAME]
[--additional-hooks-dir HOOKSPATH]
[--runtime-hook RUNTIME_HOOKS]
[--exclude-module EXCLUDES] [--key KEY] [-d] [-s]
[--noupx] [-c] [-w]
[-i <FILE.ico or FILE.exe,ID or FILE.icns>]
[--version-file FILE] [-m <FILE or XML>]
[-r RESOURCE] [--uac-admin] [--uac-uiaccess]
[--win-private-assemblies]
[--win-no-prefer-redirects]
[--osx-bundle-identifier BUNDLE_IDENTIFIER]
[--distpath DIR] [--workpath WORKPATH] [-y]
[--upx-dir UPX_DIR] [-a] [--clean]
[--log-level LEVEL] [--upx UPX]
scriptname [scriptname ...]
pyinstaller-script.py: error: the following arguments are required: scriptname
可以看到PyInstaller的信息,说明安装完成,可以使用了;详细帮助可以pyinstaller -h查看。
正常安装之后就可以使用了。
关于pyinstaller的使用教程可参见官网教程及相关优秀的网络资源教程。
爬虫程序封装成exe可执行文件
把上次的爬虫程序做成exe可执行程序,中途走了不少弯路,把python爬虫源码拷贝至文件夹E:/appexe并把chromedriver拷贝至该文件夹,
cd /d E:/appexe
pyinstaller -F --icon-icon.ico spyder.py
如果该过程无错误正常运行,则在E:/appexe文件夹下会出现:spyder.spec,build(临时文件最后可删除),dist文件,dist文件中有封装好的可执行文件,如下图所示:
开始时代码读入数据使用pandas模块,该模块是C++缩写,pyistaller需做相关配置才可正常使用该模块,为了快速实现exe可执行文件把pandas模块替换成了xlrd模块。
chromedriver必须放在E:/appexe文件下selenuim才可正常使用。
selenuim在shell下可正常运行,但在pynstaller做成exe后,运行exe发现编码有问题,后来经过不断尝试,最后正常。
如果exe闪退可在代码最后添加 raw_input()
后按任意键退出。
不同系统须在不同系统下pyinstaller,成功后可拷入其他电脑测试脱离python环境后的效果
这样我们就可以正常把我们的模拟登录爬虫代码写成exe可执行文件,dist下点开spyder.exe按要求可以在脱离Python环境下进行网络爬虫,放心交付給业务部门。
【1】 pyinstaller手册
【2】 PYINSTALLER打包PYTHON脚本的一些心得
【3】pyinstaller简洁教程
【4】Creating an Executable from a Python Script
【5】Add openpyxl hook
【6】pyinstaller官方教程
【7】COMPILING PYTHON USING PYINSTALLER
数据科学从业者,算法工程师. 善于用数据科学的工具透析业务,模型的线上化部署,网络爬虫及前端可视化. 喜欢研究机器学习,深度学习及相关软件实现.目前自己还是小白一个,希望多多学习.
xujing@inter-credit.net
(0532)-8202 2798
https://dataxujing.github.io