python 打包Spider
使用 pyinstaller 打包
在网上搜索到最多的是用Pyinstaller打包Scrapy项目问题解决!!!
可是在mac os 上,不可以用,mac 上打包,只能打 unix 可执行文件 ,或者 app ,
以下以huaban项目为例(本人实际项目不是这一个,huaban只是从网上找的)
1 | ./root //主目录名,以root 代替 |
crawl.py 为打包入口文件
crawl.spec 为打包spec配置文件,在第一次 pyinstaller crawl.py 后自动生成
crawl.py 内容为:
1 | # -*- coding=UTF-8 -*- |
在终端中cd 到当前主目录
pyinstaller crawl.py
自动生成 crawl.spec 配置文件 , build 文件夹 和 dist 文件夹
此时运行 dist 文件夹中的可执行文件, 可能会报 ../sprapy/VERSION 文件找不到.
上网一顿操作后,找到次数最多的,就是文章上面所说的链接,可是在mac 下,不顶用啊~
不用慌,此雷我已踩完.
找到自己spider 文件的安装目录,复制两个文件到你的项目中,并自己创建一个叫scrapy的文件夹,放在里面.
此时,你的项目目录已经变成这样了.
1 | ./root //主目录名,以root 代替 |
修改crawl.spec 文件
1 | a = Analysis(['crawl.py'], |
原
datas=[]
修改为
datas=[(‘./scrapy’, ‘scrapy’)]
修改完成后,继续打包
警告此时打包不要再用 pyinstaller crawl.py
使用pyinstaller crawl.spec
使用 pyinstaller crawl.py 会使 crawl.spec 文件替换为掉
让我们继续来打包吧
打完之后,运行文件,提示缺包
因为pyinstaller 无法导入隐形包,所以,要我们自己倒入
提示什么,导入什么
方法是 添加到hiddenimports=[]中
hiddenimports=[‘scrapy.statscollectors’]
继续打包,你会发现,又缺其他的东西…
让我们继续
经过数个小时之后.
hiddenimports=[] 已经完全变样了..
1 | hiddenimports=[ |
继续打包.
哇咔咔,终于可以运行了.
可是这个文件,只能在这个目录中运行
让我们荡起双桨~~~
经过一翻扫雷后发现是因为没有导入我们自己写的spider文件
继续~~~
1 | hiddenimports=[ 'huaban.pipelines', |
此时,等于可以了.让我们去划船吧
本文作者: NUK
最后更新: 2023年12月13日 17:35:03
本文链接: http://www.uilucky.com/post/13ef96a3.html
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可,转载请注明出处!