python爬虫文件打包成exe文件
前言:
最近想把写好的爬虫文件发给朋友,由于考虑到朋友电脑里没有运行环境,下载环境安装所需要的库实在是太麻烦了,所以直接打包成exe文件发给他,这样就算没有python环境也可以双击exe文件运行。这里将我打包文件的步骤和中间出现的一些问题进行一个总结。
1. python程序打包exe常用命令
这里我们常用的打包工具是pyinstaller,我们先来安装一下
pip install pyinstaller
安装完毕后我们打开文件所在目录的cmd控制台,输入以下命令即可打包
pyinstaller -F 文件.py#-F表示将python程序直接打包成exe,后面空格接文件名字
pyinstaller -F -w 文件.py#-w表示生成的exe文件双击不会出现控制台
pyinstaller -F -i 图标.ico 文件.py
#-i表示生成的exe文件使用自定义图标,后面空格接图标名称
#图标文件一定要和打包文件放在同一目录下
我们输入命令来打包一下
此时目录下会多出一些文件(红色框圈出),总体结构是这样的
打包好的exe文件就在dist目录下
2. 爬虫程序打包过程中出现的问题
当我们将爬虫程序打包后,双击exe文件却发现文件运行不了,控制台报如下错误
Traceback (most recent call lsat):File "xxx.py",line 3,in <module>File "src/lxml/etree.pyx",line 74,in init lxml.etree
ImportError:cannot import name _elementpath
[8292]Failed to execute script 'xxx' due to unhandled exception!
这是因为我们在写python爬虫程序的时候用到了lxml库,但打包的时候没有将lxml打包进去,这时我们打包就要加上这样一句话来手动指定导入
pyinstaller -F XXX.py --hidden-import lxml._elementpath
此时打包完后又出现了新的问题,当我们运行exe文件执行爬虫程序时发现又会报错
Failed and Retry
('Could not find a suitable TLS CA certificate bunde,invalid path:C:\\XXX\\XXX\\cacert.pem')
原因是当我们在程序中用requests库进行请求操作的时候需要CA证书,也就是cacert.pem这个文件,打包的时候pyinstaller无法将这个文件打包,所以当我们运行exe文件的时候,程序找不到这个cacert.pem文件就会报错。这时候就需要这样做:
1. 在代码中加入这样一行代码,并重新打包
import os,sys
os.environ['REQUESTS_CA_BUNDLE'] = os.path.join(os.path.dirname(sys.argv[0]), 'cacert.pem')
2. 从别的地方找一个cacert.pem文件复制过来
我查了很多办法,都说按【python安装路径\Lib\site-packages\requests\cacert.pem】路径找这个文件,但我发现我的requests目录下并没有这个文件,于是我在【site-packages】目录下直接搜索cacert.pem,成功找到了这个文件
我们将文件复制出来(一定要是复制,移动的话会导致对应的库无法正常使用),与打包好的exe文件放在同一级目录下,这时我们再双击exe文件就能正常运行了
python爬虫文件打包成exe文件相关推荐
- 将Python文件打包成exe文件(超详细)
首先,我们为什么要把Python文件打包成exe文件? 因为,Python文件需要Python IDE打开 而exe,就是一个程序,双击就开了! 岂不是妙哉? 基础准备 首先,打开终端,我们要下载打包 ...
- python - .py文件打包成.exe文件, 发送给别人
python文件打包成.exe文件有两种方式 参考: pyinstaller打包 Nuitka打包 环境 环境 描述 OS Windows10 64位 python 3.7 pycharm 2019 ...
- vs python生成exe文件_使用VScode编写python程序并打包成.exe文件-文件夹变成exe
1. 下载vscode并安装 2. 配置Python环境 点击左下角的吃了图标,在弹出的菜单中选择extensions,在左上方搜索框内输入"Python",可以看到好多Pytho ...
- python 程序打包 vscode_使用VScode编写python程序并打包成.exe文件
听说Visual Studio Code(VS Code)的诸多好处,了解了一下果真很喜欢,我喜欢它的缘由主要有3个,一是VS Code开源且跨平台,二是由于其界面很是酷,三是能够知足个人大所属代码需 ...
- pyinstaller将py文件打包成EXE文件(保姆级教程)
一.PyInstaller 库的安装 1.一般安装步骤: pip install pyinstaller一般的安装方法是在cmd命令提示符环境下输入: window+r 运行cmd 输入以下内容切换到 ...
- 将python文件打包成exe文件(带附属txt文件)
一.安装pyinstaller 打包需要用到pyinstaller,打开cmd,直接输入下面语句即可: pip install pyinstaller 就像下图这样: 二.打包 2.1 文件 我想要打 ...
- linux添加py自启动脚本_PyInstaller详解:将.py文件打包成exe文件
1. 安装 本人系统是:Ubuntu16.04,python3.7. 安装的pyinstaller==3.5, UPX==upx-3.95-amd64_linux.tar.xz.不安装对应版本的pyi ...
- 利用cx_Freeze将py文件打包成exe文件(图文全解)
python是一个非常非常优秀的编程语言,它最大的特性就是跨平台.python程序几乎可以在所有常见的平台中进行使用,而且大部分无需修改任何代码!不过,python也有一点点小缺憾(这个是由于自身本质 ...
- 利用cx_Freeze将py文件打包成exe文件(图文全解)(转帖)
python是一个非常非常优秀的编程语言,它最大的特性就是跨平台.python程序几乎可以在所有常见的平台中进行使用,而且大部分无需修改任何代码!不过,python也有一点点小缺憾(这个是由于自身本质 ...
最新文章
- 基于最短路方法的生物序列比对问题研究
- ios ble 参考
- 【iOS-Cocos2d游戏开发之十五】详解CCProgressTimer 进度条并修改cocos2d源码实现“理想”游戏进度条!...
- 周报速递丨北交所 SaaS 首股将出;央行等印发《金融标准化“十四五”发展规划》
- 2019年华南理工大学程序设计竞赛(春季赛)
- QT学习:基于UDP的网络广播程序
- spring+websocket综合(springMVC+spring+MyBatis这是SSM框架和websocket集成技术)
- 基于Ganos百行代码实现亿级矢量空间数据在线可视化
- 转自云风blog:三国志战略版服务器卡顿问题
- 《信息存储与管理(第二版):数字信息的存储、管理和保护》—— 2.6 磁盘驱动部件...
- 如何在 Mac 上轻松编辑、批注、签名和标记 PDF?
- 适配器模式之备忘录模式
- 软考数据库系统工程师教材改版啦
- 手把手教你设计数字钟(基于protues8.6)
- SEO外语网站批量翻译软件
- V2X测试系列——V2X应用场景仿真及开发流程
- 我在赶集网的两个月(数据挖掘、竞情分析、产品、团购、运营、电话销售)
- IDEA映射文件去掉黄色和绿色背景
- 4月以来北京,上海,广州,深圳,杭州Java程序员涨工资400倒500,南京涨了800元
- (转)关于如何学好游戏3D引擎编程的一些经验
热门文章
- html a标签下载
- ipad刷机的时候,突然中断了怎么处理好
- Hyperlegder Fabric 1.4.4 手动搭建BYFN网络
- 双11 优惠券不够用?本平台送福利了......
- windows10怎么打开mysql数据库服务
- 深能源拟认购长城证券2.7亿股
- [Android应用]《幽默笑话》V1.0 Beta 版本发布!
- Linux中的特殊符号怎么打出
- excel批量插入n行
- 无处不在的 Kubernetes,难用的问题解决了吗?