pyintaller exe 后 print的内容 怎么体现_使用Github Actions自动化构建exe
上一篇讲了 coding 的自动化 build exe 文件,这篇来说下使用 Github Actions 的持续集成功能来自动化构建我们的 exe 文件。由于上一篇中所用的测试脚本是我自用的,所以就没有放出来,这篇咱们来新建一个简单的测试脚本来体验自动化编译。
创建仓库
首先到 Github 上新建一个仓库
添加代码
然后将新建的仓库 clone 下来,添加我们的测试脚本,代码如下:
import requestsr = requests.get('https://www.baidu.com')r.encoding = 'utf8'print(r.status_code)print(r.text[:17])input('pause')
因为要依赖 requests 库,所以要添加 requirements.txt 文件方便安装依赖。
提交更改
添加完文件后使用命令 git add . | git commit -m "add script" |git push
来 push 更改。
新建持续集成任务
点击 Actions 按钮,由于我们这里仍然使用上一篇文章使用过的 docker 镜像来编译我们的 exe 文件,所以我们这里建立一个自定义的 workflow 文件。点击右上角的按钮。
自定义持续集成任务
左边为 yml 文件,文件名可以自定义,Github 会自动运行其中定义的 job。
我们更改 yml 文件,修改成下面的代码
# This is a basic workflow to help you get started with Actionsname: CI# Controls when the action will run. Triggers the workflow on push or pull request# events but only for the master branchon:push:branches: [ master ]pull_request:branches: [ master ]# A workflow run is made up of one or more jobs that can run sequentially or in paralleljobs:# This workflow contains a single job called "build"build:# The type of runner that the job will run onruns-on: ubuntu-latest# Steps represent a sequence of tasks that will be executed as part of the jobsteps:# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it- uses: actions/checkout@v2# Runs a single command using the runners shell- name: Run a one-line scriptrun: echo Hello, world!# Runs a set of commands using the runners shell- name: Run a multi-line scriptrun: |echo Add other actions to build,echo test, and deploy your project.docker run -v $GITHUB_WORKSPACE:/src cdrx/pyinstaller-windows:latest 'pyinstaller -F --clean -y --dist ./ --workpath /tmp test2.py'zip -r $GITHUB_WORKSPACE/test2.zip $GITHUB_WORKSPACE/test2.exe- name: Create Releaseid: create_releaseuses: actions/create-release@v1env:GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}with:tag_name: ${{ github.ref }}release_name: Release ${{ github.ref }}draft: falseprerelease: false- name: Upload Release Assetid: upload-release-assetuses: actions/upload-release-asset@v1env:GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}with:upload_url: ${{ steps.create_release.outputs.upload_url }}asset_path: ${{ github.workspace }}/test2.zipasset_name: nainiu_upload.zipasset_content_type: application/zip
开始构建
点击右上角的 commit 按钮,刷新页面,Github 已经自动开始自动构建了。
结束构建
稍等一会,构建完成后,成功了,我们去 release 界面查看,发现我们已经创建了一个新的版本,并且也成功上传了对应的 zip 文件。
只是这里我们没有对本次 commit 添加 tag,所以没有版本号。
本篇文章所用到的 docker 镜像和上篇文章所用的一致,均为 这个。
所以具体参数不再详细解释。
结语
Github Actions 和 coding 其实都用了同一个 docker 镜像,只是换了个平台,一些命令稍有些不一样。而且 Github 同样提供了 Windows 平台,可以通过 Windows 直接安装依赖,编译 exe 文件,不需要 docker。
但是 Windows 平台运行所需分钟数是 Linux 的两倍,所以选用 Linux 平台可以节省一些分钟数。当然了,如果是开源项目的话,那构建是完全免费的,没有每个月的限制。
以上就是本篇文章的全部内容。
pyintaller exe 后 print的内容 怎么体现_使用Github Actions自动化构建exe相关推荐
- python封装成exe后运行失败_Python的带pandas包的程序封装成exe 2018-01-11
前言: 今天在网上看了很多教程,最后还是在运行pyinstaller命令行时解决 环境配置:python 2.7.9 32位,setuptools 19.2版,WIN 64位 1.安装PyInstal ...
- PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
在这里分享一些技巧和经验给大家.辛苦撰文分享,转载或引用请保留本文作者信息及文章链接. 作者的环境: win7+python3.5(anaconda3) 理论上,win7及以上的系统和python ...
- labview当前vi路径_对于LabVIEW程序为什么生成EXE后,涉及到路径的输出不正确了?...
问题提出 使用LabVIEW编写应用程序时,相信很多小伙伴遇到过这样的问题,在VI程序中涉及到路径的问题时,比如在程序开始运行时,需要自动读取当前目录下某个文件的内容作为参数的初始配置,或者自动加载当 ...
- windows安装pgsql exe后开启服务sql shell(psql)登录
windows按照pgsql exe后,cmd进入bin目录输入下面命令: pg_ctl.exe start -D "C:\Program Files\PostgreSQL\13\data& ...
- Unity3D中项目在Unity编辑器下正常运行打包成功exe后无法正常运行
Unity3D中项目在Unity编辑器下正常运行打包成功exe后无法正常运行 一.遇到的情况描述: 项目中涉及到了文件读取的相关操作 项目在Unity下能够正常获取到文件信息并且不报错 项目能够成功打 ...
- LayUi前端框架删除数据缓存问题(解决删除后刷新页面内容又会显示问题)
LayUi前端框架删除数据缓存问题(解决删除后刷新页面内容又会显示问题) 参考文章: (1)LayUi前端框架删除数据缓存问题(解决删除后刷新页面内容又会显示问题) (2)https://www.cn ...
- 报错笔记:linux 命令行中的print输出内容无法重定向到文件中
在命令行上跑一个python程序(执行时间很长),如果将输出直接重定向到命令行上,是会有输出的 但是如果我们将其重定向到一个文件中,可能很久都没有输出 原因在于python是有缓存输出的,所以不能暂时 ...
- Oracle分组后对分组内容重复 取第一个
Oracle分组后对分组内容重复 的以另一列排序后 取第一个 语句 select * from( select a.grep, row_number() over (partition by a.gr ...
- html 形成打印数据,用HTMLTestRunner生成报告,无法打印print的内容
我想既可以生成HTMLTestRunner测试报告,又可以在命令窗口print出文字来知晓当前脚本运行到具体哪一步. 可是没使用HTMLTestRunner生成报告的时候可以在命令窗口内打印print ...
最新文章
- 配置CentOS的网络环境
- python socket编程_Python Socket编程实现网络编程
- 实现织梦dedecms百度主动推送(实时)网页抓取
- web前端到底是什么?有前途吗
- flutter 日志输出,Flutter打印日志,flutter log,flutter 真机日志
- 复盘!12 小时清掉 3500 份生财日历
- eclipse SVN插件的缓存清理
- 生产环境下服务器台账
- CanBus的数据帧的获取和初始解析
- 电商后台管理系统分享
- 文电通:助力企业入局“无纸化办公”!
- android studio项目同步失败,java - 在android studio 3.2中Gradle项目同步失败 - 堆栈内存溢出...
- 视频追踪meanshift
- 树莓派4b 调整屏幕分辨率
- 网页版微信协议登陆,没什么用...
- Excel插件快捷键弹窗事件(VSTO+键盘钩子实现)
- 使用Sivarc使PLC程序标准化
- dell10代cpu装linux,戴尔10代cpu装win7系统及bios设置|戴尔十代cpu台式机装win7
- Arduino用超声波测距模块HC-SR04获得精确测量值——误差数据的排除
- mysql数据库select语句用法_mysql学习笔记之完整的select语句用法实例详解
热门文章
- Away3d学习笔记(1)
- es6 let和const命令(1)
- CCF2016.4 - C题
- swift:自定义UICollectionViewFlowLayout
- 请问诸位大神,Android怎么实现图片转动
- 如何在VB中使用正则表达式
- 重载操作符解析(原)
- SSD6中Exercise4 (substitute.cpp) 答案解析
- VS2008 在IE8中 调试 ActiveX控件 无法进入断点的解决方法 设置VS2008和IE8 调试ATL MFC ActiveX控件
- sublime text3 中 python3编译出现中文乱码解决方法