手把手 教你把H5页面打造成windows 客户端exe 软件
序言:
好久没有更新博客了,最近在工作中碰到这种需求,由于没有做过,中间碰到好多坑,最后在一位贵人帮助的情况下,最终还是搞定了。
第一步,先安装 cefpython3
pip install cefpython3
然后 运行下这块代码
from cefpython3 import cefpython as cef
import platform
import sys
from configparser import ConfigParser def main():
siteUrl = 'https://www.baidu.com/'
title = '百度一下,你就知道'
check_versions()
sys.excepthook = cef.ExceptHook # To shutdown all CEF processes on error
cef.Initialize() """
conf = ConfigParser()
conf.read("config.ini",'utf-8')
siteUrl = conf.get("main","url")
title = conf.get("main","title")
print(siteUrl)
print(title)
"""
cef.CreateBrowserSync(url=siteUrl,
window_title=title)
cef.MessageLoop()
cef.Shutdown() def check_versions():
ver = cef.GetVersion()
print("[hello_world.py] CEF Python {ver}".format(ver=ver["version"]))
print("[hello_world.py] Chromium {ver}".format(ver=ver["chrome_version"]))
print("[hello_world.py] CEF {ver}".format(ver=ver["cef_version"]))
print("[hello_world.py] Python {ver} {arch}".format(
ver=platform.python_version(),
arch=platform.architecture()[0]))
assert cef.__version__ >= "57.0", "CEF Python v57.0+ required to run this" if __name__ == '__main__':
main()
是不是突然间 弹出了一窗口

好,要的就是这种效果,但问题来了,我们如何在没有python 环境的电脑上运行呢?接着看......
说白了就是要把 把这个python 脚本打包,打包过程中需要用到 python 的 ,向下看:
pip install pyinstaller
pip install pycrypto
如果顺利安装完成,过程中没有报错,好可以继续了,如果卡到第二个包无法安装,那么也正常,我装这个包装了好久,最终都没安装成功,因为在打包过程中编译时需要依赖 Microsoft visual c++ 14.0 环境,我这边反正是安装了但是 pycrypto 还是无法安装,就报这个错误。

我建议大家 还是安装 anaconda ,然后用这个安装这个包,记得以前用这个安装过 scrapy 爬虫框架,就是用它搞定的。
anaconda 的 具体使用方法可参考 https://blog.csdn.net/ITLearnHall/article/details/81708148 ,当然,自己百度也行。
这几个包安装完成之后,我们就可以打包了,来 上这位老哥的git 地址。
https://gitee.com/zhangleijay/cefpython_browser
必须感谢这位老哥,在出差期间 教我怎么打包,非常感谢,拉下来看说明 直接运行就可以
这个包打完之后,我们就看到下面这些文件了,点击exe文件。


是不是 非常 666
文章最后,送大家几个字 越努力 越幸运
手把手 教你把H5页面打造成windows 客户端exe 软件的更多相关文章
- 手把手教你用python打造网易公开课视频下载软件3-对抓取的数据进行处理
上篇讲到抓取的数据保存到rawhtml变量中,然后通过编码最终保存到html变量当中,那么html变量还会有什么问题吗?当然会有了,例如可能html变量中的保存的抓取的页面源代码可能有些标签没有关闭标 ...
- 手把手教你玩转 Gitea|在 Windows 系统上安装 Gitea
Gitea 支持在 Windows 系统上安装和使用.Gitea 本身作为一个单体应用程序,即点即用,如需长期驻留作为后台服务并开机运行就要依靠 Windows 服务工具 sc.exe. 通过本文,你 ...
- 手把手教你用python打造网易公开课视频下载软件5-python生成exe程序
python程序生成exe文件,使用的是py2exe扩展包,下面写下具体的步骤: 第一步:新建conver2exe.py,内容如下: #coding:utf-8 from distutils.core ...
- 手把手教你用python打造网易公开课视频下载软件4-图形化界面
上一篇讲解完函数:def getdownLoadInfo (url): 传入公开课的url地址,就可以提取课程的信息,这一篇讲解一下如何编写图像化界面.大概思考一下图像化界面需要的内容: (1)一个标 ...
- 手把手教你用python打造网易公开课视频下载软件2-编码相关说明
函数getdownLoadInfo(url)主要实现核心功能:根据url地址,获取课程信息:课程名(courseTitle),课程数目(courseCount),可下载视频数目(videoCount) ...
- 手把手教你用python打造网易公开课视频下载软件1-总述
写作前面的话:最近准备重温一下算法导论,感谢大网易把MIT算法导论课程全部贴出来,地址为:http://v.163.com/special/opencourse/algorithms.html,在线看 ...
- 手把手教你用Vue2+webpack+node开发一个H5 app
手把手教你用Vue2+webpack+node开发一个H5 app 前一篇vue2 + webpack + node 开发一个小demo说到了用vue的一些基本用法,这一篇就讲一个复杂一点的更完整的 ...
- 每天记录一点:NetCore获得配置文件 appsettings.json vue-router页面传值及接收值 详解webpack + vue + node 打造单页面(入门篇) 30分钟手把手教你学webpack实战 vue.js+webpack模块管理及组件开发
每天记录一点:NetCore获得配置文件 appsettings.json 用NetCore做项目如果用EF ORM在网上有很多的配置连接字符串,读取以及使用方法 由于很多朋友用的其他ORM如S ...
- 《手把手教你》系列技巧篇(四十五)-java+ selenium自动化测试-web页面定位toast-上篇(详解教程)
1.简介 在使用appium写app自动化的时候介绍toast的相关元素的定位,在Web UI测试过程中,也经常遇到一些toast,那么这个toast我们这边如何进行测试呢?今天宏哥就分两篇介绍一下. ...
随机推荐
- 前端MVC、MVVM的简单实现
MVC MVC是一种设计模式,它将应用划分为3个部分:数据(模型).展示层(视图)和用户交互层.结合一下下图,更能理解三者之间的关系.换句话说,一个事件的发生是这样的过程 用户和应用交互 控制器的事件 ...
- java 多线程相关概念总结
前言 本篇文章介绍一些多线程的相关的深入概念.理解后对于线程的安全性会有更深的理解. 先说一个格言,摘自Java核心技术:如果向一个变量写入值,而这个变量接下来可能会被另一个线程读取:或者一个变量读值 ...
- 数据库 mysql 操作
安装好xammp,打开阿帕奇和数据库服务: 点击右侧 shell 按钮,进入命令行: 首先,利用超级管理员权限进入数据库: mysql -uroot -p enter,再enter 把下述代码复制进命 ...
- C++模板函数实践1
实践如下: #include <iostream> #include <typeinfo> using namespace std; class Bean{ private: ...
- 阶段3 3.SpringMVC·_02.参数绑定及自定义类型转换_1 请求参数绑定入门
请求参数的绑定 参数绑定 创建新的页面 给方法加上注解 前面没有斜线 重新部署项目 传递一个username的值 后台方法接收 重新部署项目 再传一个password的值 再输出password ja ...
- QDataSet – 如何比较两个数据集内容的差异
QDataSet 提供了两个函数来比较两个数据集的差异,并将结果保存到第三个数据集. procedure Intersect(ASource1, ASource2: TQDataSet; AField ...
- python虚拟环境mkvirtualenv使用
安装virtualenvwrapper pip install virtualenvwrapper 修改默认虚拟环境目录: 环境变量中新建: 变量名:WORKON_HOME 变量值:目录位置 ( ...
- C# 虚拟键盘
[DllImport("user32.dll")] public static extern void keybd_event(byte bVk, byte bScan, uint ...
- zabbix报警后不会自动消除解决
http://www.cnblogs.com/zhongkai-27/p/9984597.html
- 【HTML】---HTML语义化
1.什么是HTML语义化? <基本上都是围绕着几个主要的标签,像标题(H1~H6).列表(li).强调(strong em)等等> 根据内容的结构化(内容语义化),选择合适的标签(代码语义 ...