序言:

好久没有更新博客了,最近在工作中碰到这种需求,由于没有做过,中间碰到好多坑,最后在一位贵人帮助的情况下,最终还是搞定了。

第一步,先安装 cefpython3

  1. pip install cefpython3

然后 运行下这块代码

  1. from cefpython3 import cefpython as cef
  2. import platform
  3. import sys
  4. from configparser import ConfigParser
  5.  
  6. def main():
  7. siteUrl = 'https://www.baidu.com/'
  8. title = '百度一下,你就知道'
  9. check_versions()
  10. sys.excepthook = cef.ExceptHook # To shutdown all CEF processes on error
  11. cef.Initialize()
  12.  
  13. """
  14. conf = ConfigParser()
  15. conf.read("config.ini",'utf-8')
  16. siteUrl = conf.get("main","url")
  17. title = conf.get("main","title")
  18. print(siteUrl)
  19. print(title)
  20. """
  21. cef.CreateBrowserSync(url=siteUrl,
  22. window_title=title)
  23. cef.MessageLoop()
  24. cef.Shutdown()
  25.  
  26. def check_versions():
  27. ver = cef.GetVersion()
  28. print("[hello_world.py] CEF Python {ver}".format(ver=ver["version"]))
  29. print("[hello_world.py] Chromium {ver}".format(ver=ver["chrome_version"]))
  30. print("[hello_world.py] CEF {ver}".format(ver=ver["cef_version"]))
  31. print("[hello_world.py] Python {ver} {arch}".format(
  32. ver=platform.python_version(),
  33. arch=platform.architecture()[0]))
  34. assert cef.__version__ >= "57.0", "CEF Python v57.0+ required to run this"
  35.  
  36. if __name__ == '__main__':
  37. main()

是不是突然间 弹出了一窗口

好,要的就是这种效果,但问题来了,我们如何在没有python 环境的电脑上运行呢?接着看......

说白了就是要把 把这个python 脚本打包,打包过程中需要用到 python 的 ,向下看:

  1. pip install pyinstaller
    pip install pycrypto

如果顺利安装完成,过程中没有报错,好可以继续了,如果卡到第二个包无法安装,那么也正常,我装这个包装了好久,最终都没安装成功,因为在打包过程中编译时需要依赖 Microsoft visual c++ 14.0 环境,我这边反正是安装了但是 pycrypto 还是无法安装,就报这个错误。

我建议大家 还是安装 anaconda ,然后用这个安装这个包,记得以前用这个安装过 scrapy 爬虫框架,就是用它搞定的。

anaconda 的 具体使用方法可参考  https://blog.csdn.net/ITLearnHall/article/details/81708148 ,当然,自己百度也行。

这几个包安装完成之后,我们就可以打包了,来 上这位老哥的git 地址。

  1. https://gitee.com/zhangleijay/cefpython_browser

必须感谢这位老哥,在出差期间 教我怎么打包,非常感谢,拉下来看说明 直接运行就可以

这个包打完之后,我们就看到下面这些文件了,点击exe文件。

是不是 非常   666

文章最后,送大家几个字     越努力   越幸运

手把手 教你把H5页面打造成windows 客户端exe 软件的更多相关文章

  1. 手把手教你用python打造网易公开课视频下载软件3-对抓取的数据进行处理

    上篇讲到抓取的数据保存到rawhtml变量中,然后通过编码最终保存到html变量当中,那么html变量还会有什么问题吗?当然会有了,例如可能html变量中的保存的抓取的页面源代码可能有些标签没有关闭标 ...

  2. 手把手教你玩转 Gitea|在 Windows 系统上安装 Gitea

    Gitea 支持在 Windows 系统上安装和使用.Gitea 本身作为一个单体应用程序,即点即用,如需长期驻留作为后台服务并开机运行就要依靠 Windows 服务工具 sc.exe. 通过本文,你 ...

  3. 手把手教你用python打造网易公开课视频下载软件5-python生成exe程序

    python程序生成exe文件,使用的是py2exe扩展包,下面写下具体的步骤: 第一步:新建conver2exe.py,内容如下: #coding:utf-8 from distutils.core ...

  4. 手把手教你用python打造网易公开课视频下载软件4-图形化界面

    上一篇讲解完函数:def getdownLoadInfo (url): 传入公开课的url地址,就可以提取课程的信息,这一篇讲解一下如何编写图像化界面.大概思考一下图像化界面需要的内容: (1)一个标 ...

  5. 手把手教你用python打造网易公开课视频下载软件2-编码相关说明

    函数getdownLoadInfo(url)主要实现核心功能:根据url地址,获取课程信息:课程名(courseTitle),课程数目(courseCount),可下载视频数目(videoCount) ...

  6. 手把手教你用python打造网易公开课视频下载软件1-总述

    写作前面的话:最近准备重温一下算法导论,感谢大网易把MIT算法导论课程全部贴出来,地址为:http://v.163.com/special/opencourse/algorithms.html,在线看 ...

  7. 手把手教你用Vue2+webpack+node开发一个H5 app

    手把手教你用Vue2+webpack+node开发一个H5 app ​前一篇vue2 + webpack + node 开发一个小demo说到了用vue的一些基本用法,这一篇就讲一个复杂一点的更完整的 ...

  8. 每天记录一点:NetCore获得配置文件 appsettings.json vue-router页面传值及接收值 详解webpack + vue + node 打造单页面(入门篇) 30分钟手把手教你学webpack实战 vue.js+webpack模块管理及组件开发

    每天记录一点:NetCore获得配置文件 appsettings.json   用NetCore做项目如果用EF  ORM在网上有很多的配置连接字符串,读取以及使用方法 由于很多朋友用的其他ORM如S ...

  9. 《手把手教你》系列技巧篇(四十五)-java+ selenium自动化测试-web页面定位toast-上篇(详解教程)

    1.简介 在使用appium写app自动化的时候介绍toast的相关元素的定位,在Web UI测试过程中,也经常遇到一些toast,那么这个toast我们这边如何进行测试呢?今天宏哥就分两篇介绍一下. ...

随机推荐

  1. 添加一个静态JAVA库

    LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) # Build all java files in the java subdirectory L ...

  2. shell定义

    用户输入的命令并且把它们送到内核.不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序. Shell编程语言具有普通编程语言的很多特点 无图形化界面时与lin ...

  3. R实现pm2.5地图数据展示

    使用rvest包抓取pm2.5静态页面数据,使用leafletCN包实现pm2.5数据的地图展示,代码如下所示: library(rvest) library(leafletCN) Sys.setlo ...

  4. 后盾网lavarel视频项目---5、淘宝镜像cnpm的原理及如何使用

    后盾网lavarel视频项目---5.淘宝镜像cnpm的原理及如何使用 一.总结 一句话总结: 原理:把npm上面的所有软件copy过来 使用:npm install -g cnpm --regist ...

  5. SpringMVC——-Controller返回格式化数据如JSON、XML的配置方式和机制

    1.本文内容 我们在Web项目开发过程中,一般来说访问一个处理器,然后会返回一个视图,或者跳转到另外的处理器.但是随着项目越来越复杂,需求越来越复杂,对于处理器返回数据的类型要求也越来越多.比如要求能 ...

  6. java 深入HashTable

    在java中与有两个类都提供了一个多种用途的hashTable机制,他们都可以将可以key和value结合起来构成键值对通过put(key,value)方法保存起来,然后通过get(key)方法获取相 ...

  7. C++类继承方式及实践

    直接上图: 以及: 实践如下: #include <iostream> using namespace std; class Father{ private: int father1; i ...

  8. Computer Network Homework3’ s hard question

    Computer Network Homework3’ s hard question 1. Which kind of protocol does CSMA belong to? A. Random ...

  9. Spring Cloud负载均衡:使用Feign作客户端负载均衡

    有了一篇服务端负载均衡后,再来一篇客户端负载均衡,客户端负载均衡很简单,无需在zuul中做多余配置(本示例不引入zuul),只需要在客户端进行Feign引入和配置即可. 准备工作很简单,实现客户端负载 ...

  10. 阶段3 2.Spring_03.Spring的 IOC 和 DI_3 spring基于XML的IOC环境搭建和入门

    创建新项目 修改为jar包的方式 把上一个工程内的代码 java下的com复制过来 由于配置文件没有,所以一运行就会报错 factory文件夹整个删除 dao的实现类 这里删除 测试类保留这两行代码 ...