打包发布你的小爬虫,使它变成独立的可执行程序
通过上篇文章我们使用PyQt5开发出来GUI(图形界面),已经基本完成了这只小爬虫应有的功能与模样,现在就剩最后一步了。我们要将他打包发布,可以脱离本机的环境到其他电脑上去运行。
打包发布工具:pyinstaller
我选择了pyinstaller作为我这次的发布工具。
安装pyinstaller
pip install pyinstaller
验证是否成功:pyinstaller -v
,出现版本号即为安装成功。
pyinstaller指令介绍
- -F,指定打包后只生成一个exe格式的文件
- -D,–onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)
- -c,–console, –nowindowed 使用控制台,无界面(默认)
- -w,–windowed, –noconsole 使用窗口,无控制台
- -p,添加搜索路径,让其找到对应的库。
- -i ,改变生成程序的icon图标
打包指令为pyinstaller -F .py全路径
用我的这个做例子就是
pyinstaller -F E:\Code\spiderwindow.py
成功后会在我的文档里生成一个叫做dist的文件夹,里面躺着孕育而出的小爬虫spiderwindow.exe。但是问题来了,每次运行爬虫,都会带一个讨厌的dos控制台,这个完全不需要呀。于是重新查询pyinstaller指令,发现打包的时候加上-w
或者-noconsole
就可以去除dos控制台。
这样.py的文件就打包成功了,我们双击运行这个.exe的文件,输入参数,爬虫可以完美运行。
这儿我要再说回系列的第一篇文章中提到的py版本。我一开始选择的是64位的,在打包发布完之后,可以在64位的系统中完美运行,但是到了32位系统中就会报错,这个也是我一开始没考虑到的。经过查询发现,64位电脑可以兼容32位,而32位电脑无法兼容64位的软件。为此我卸载py和之前下载安装的模块,重新安装到32位的,一波操作猛如虎之后,重新用pyinstaller打包发布,终于能在32位系统的电脑里跑起来了。所以,我这儿建议大家在安装py的时候,尽可能的还是选择32位的版本。适用的范围会更广。
后记
终于,《手把手系列:用Python3+PyQt5做一个有界面的小爬虫》的五篇文章要完结了,大家也跟着文章一步一步的制作出了一只能干适用性又广的小爬虫。当然,这个爬虫的逻辑或者功能还是有不够完善的地方,但是对于基本的功能需求上是满足了。
这次一口气写了五篇系列文章,在最开始取名叫作手把手系列这个前缀的时候,我就已经感觉到给自己挖了一个很大坑。当时年轻不懂事,老喜欢立个很大的flag。在第一次写文章后,才发现,并不比写代码轻松,因为要给他人阅读借鉴,需要更加的严谨,所以有些关键代码片段要截出来反复阅读和本地调试,还需要把结果截图出来,在这儿花了不少的时间。
但是,写技术文章也是一个有意义的事儿,更像是code review,对自己的也是有很大的提升。希望接下来能继续坚持,把更多遇到的或者好玩的,通过文字记录下来。