「Python自学笔记」Beeware初体验之Python全平台应用打包
off999 2025-06-12 15:12 18 浏览 0 评论
第一个应用
安装环境
- 这里的环境是Windows11
- 首先需要创建一个虚拟环境(我这里使用的是pipenv)
- 安装git
- 安装依赖pip install briefcase beeware
- 下载WIX工具集 并安装
- 参考文章
创建项目
- 创建项目:进入项目目录运行briefcase new
- 接着需要进行一些列的设置,如下
First, we need a formal name for your application. This is the name that will
be displayed to humans whenever the name of the application is displayed. It
can have spaces and punctuation if you like, and any capitalization will be
used as you type it.
Formal Name [Hello World]:Hello xiaoqiangclub
# 对应译文
首先,我们需要为你的申请取一个正式的名字。 这个名字将会
只要显示应用程序的名称,就会显示给人们。 它
可以有空格和标点,如果你喜欢,任何大写将是
当你打字时使用。
正式名称【Hello World】:
- 接着需要给App设置名字,如下
for your application. This name must be PEP508-compliant - that means the name
may only contain letters, numbers, hyphens and underscores; it can't contain
spaces or punctuation, and it can't start with a hyphen or underscore.
Based on your formal name, we suggest an app name of 'helloxiaoqiangclub',
but you can use another name if you want.
App Name [helloxiaoqiangclub]:
# 对应译文
为您的应用程序。 这个名称必须符合pep508 -即名称
只能包含字母、数字、“-”和“_”; 它不能包含
空格或标点符号,不能以连字符或下划线开头。
基于您的正式名称,我们建议您将应用程序命名为helloxiaoqiangclub,
但如果你想,也可以用别的名字。
应用程序名称(helloxiaoqiangclub):
- 接着设置域,如下
for your application. This name must be PEP508-compliant - that means the name
may only contain letters, numbers, hyphens and underscores; it can't contain
identifier is the namespace they use to identify applications that come from
you. The bundle identifier is usually the domain name of your company or
project, in reverse order.
For example, if you are writing an application for Example Corp, whose website
is example.com, your bundle would be ``com.example``. The bundle will be
combined with your application's machine readable name to form a complete
application identifier (e.g., com.example.helloxiaoqiangclub).
Bundle Identifier [com.example]:
# 译文
为您的应用程序。 这个名称必须符合pep508 -即名称
只能包含字母、数字、“-”和“_”; 它不能包含
标识符是用来标识来自应用程序的名称空间
你。 bundle标识符通常是您公司的域名或
项目,按相反的顺序。
例如,如果你正在为example Corp编写一个应用程序,它的网站
是example.com,你的bundle会是com.example。 bundle将会是
与应用程序的机器可读名称组合,形成完整的
应用程序标识符(如com.example.helloxiaoqiangclub)。
包标识符(com.example) :
- 接着是设置项目名称,如下
Briefcase can manage projects that contain multiple applications, so we need a
Project name. If you're only planning to have one application in this
project, you can use the formal name as the project name.
Project Name [Hello xiaoqiangclub]:
# 译文
Briefcase可以管理包含多个应用程序的项目,因此我们需要一个Briefcase的
项目名称。 如果你只打算有一个应用程序项目时,可以使用正式名称作为项目名称。
项目名称【Hello xiaoqiangclub】:
- 添加描述(**注意这里不要使用中文,否则会报一个gbk编码错误**),如下
Now, we need a one line description for your application.
Description [My first application]:
# 译文
现在,我们需要一行描述您的应用程序。
描述【第一次申请】:
- 设置作者,如下
Who do you want to be credited as the author of this application? This could be
your own name, or the name of your company you work for.
Author [Jane Developer]:
# 译文
您希望谁作为这个应用程序的作者? 这可能是
你自己的名字,或者你工作的公司的名字。
描述
作者(简开发人员):
- 设置邮箱,如下
What email address should people use to contact the developers of this
application? This might be your own email address, or a generic contact address
you set up specifically for this application.
Author's Email [xiao@example.com]:
# 译文
人们应该使用什么电子邮件地址来联系这个开发人员
应用程序? 这可能是你自己的电子邮件地址,或一般的联系地址
描述您专门为此应用程序设置的。
作者的电子邮件(xiao@example.com):
- 设置应用程序的登录页的URL,如下
What is the website URL for this application? If you don't have a website set
up yet, you can put in a dummy URL.
Application URL [https://example.com/helloxiaoqiangclub]:
# 译文
这个应用程序的网址是什么? 如果你没有网站设置
到目前为止,你可以放入一个虚拟URL。
描述
应用程序URL (https://example.com/helloxiaoqiangclub):
- 许可证选择,如下
What license do you want to use for this project's code?
Select one of the following:
[1] BSD license
[2] MIT license
[3] Apache Software License
[4] GNU General Public License v2 (GPLv2)
[5] GNU General Public License v2 or later (GPLv2+)
[6] GNU General Public License v3 (GPLv3)
[7] GNU General Public License v3 or later (GPLv3+)
[8] Proprietary
[9] Other
Project License [1]:
# 译文
您想为这个项目的代码使用什么许可证?
选择下列选项之一:
[1] BSD许可
[2] MIT许可
[3] Apache软件许可证
[4] GNU通用公共许可证v2 (GPLv2)
[5] GNU General Public License v2或更高版本(GPLv2+)
[6] GNU General Public License v3 (GPLv3)
[7] GNU General Public License v3及以上版本(GPLv3+)
[8]专有
[9]其他
项目许可证[1]:
- GUI 框架设置,如下
What GUI toolkit do you want to use for this project?
Select one of the following:
[1] Toga
[2] PySide2 (does not support iOS/Android deployment)
[3] PySide6 (does not support iOS/Android deployment)
[4] PursuedPyBear (does not support iOS/Android deployment)
[5] None
GUI Framework [1]:
# 译文
您想为这个项目使用什么GUI工具包?
选择下列选项之一:
[1] Toga
[2] PySide2(不支持iOS/Android部署)
[3] PySide6(不支持iOS/Android部署)
(不支持iOS/Android部署)
[5]没有
GUI框架[1]:
- 最后,终于,终于...完成了
Application 'Hello xiaoqiangclub' has been generated. To run your application, type:
cd helloxiaoqiangclub
briefcase dev
# 译文
应用程序“Hello xiaoqiangclub”已经生成。 要运行你的应用程序,输入:
cd helloxiaoqiangclub
briefcase dev
- 最后自动生成了下面的一个目录结构
- 其它报错问题请参考官方文档
打包windows应用
- 依次运行下列命令
- 运行命令 briefcase create,创建应用的脚手架,将会生成一些预配置文件,然后下载依赖的包
- 构建应用 briefcase build
- 运行构建的应用 briefcase run
- 打包应用 briefcase package,打包完成后,helloworld\windows目录下会生成一个 .msi 的二进制安装文件
打包apk
- 依次运行下列命令
- 创建应用的安卓脚手架 briefcase create android
- 构建安卓应用 briefcase build android
- 运行一下构建好的安卓应用 briefcase run android,这里会让选择设备,可以选择 BeeWare 提供的安卓虚拟机或者是在电脑上连接自己的手机
- 打包安卓应用 briefcase package android
- 在 helloworld/android/gradle/Hello World/app/build/outputs/apk/debug/app-debug.apk 找到打包好的文件
- BeeWare 提供了两种打包好的文件,一种是用于上架Google Play 的.aab 格式文件,一种是用于调试的 .apk 文件
Toga自定义界面(写GUI)
- 【Python自学笔记】Beeware组件Togo学习笔记404
相关推荐
- PYTHON-简易计算器的元素介绍
-
[烟花]了解模板代码的组成importPySimpleGUIassg#1)导入库layout=[[],[],[]]#2)定义布局,确定行数window=sg.Window(...
- 如何使用Python编写一个简单的计算器程序
-
Python是一种简单易学的编程语言,非常适合初学者入门。本文将教您如何使用Python编写一个简单易用的计算器程序,帮助您快速进行基本的数学运算。无需任何高深的数学知识,只需跟随本文的步骤,即可轻松...
- 用Python打造一个简洁美观的桌面计算器
-
最近在学习PythonGUI编程,顺手用Tkinter实现了一个简易桌面计算器,功能虽然不复杂,但非常适合新手练手。如果你正在学习Python,不妨一起来看看这个项目吧!项目背景Tkint...
- 用Python制作一个带图形界面的计算器
-
大家好,今天我要带大家使用Python制作一个具有图形界面的计算器应用程序。这个项目不仅可以帮助你巩固Python编程基础,还可以让你初步体验图形化编程的乐趣。我们将使用Python的tkinter库...
- 用python怎么做最简单的桌面计算器
-
有网友问,用python怎么做一个最简单的桌面计算器。如果只强调简单,在本机运行,不考虑安全性和容错等的话,你能想到的最简单的方案是什么呢?我觉得用tkinter加eval就够简单的。现在开整。首先创...
- 说好的《Think Python 2e》更新呢!
-
编程派微信号:codingpy本周三脱更了,不过发现好多朋友在那天去访问《ThinkPython2e》的在线版,感觉有点对不住呢(实在是没抽出时间来更新)。不过还好本周六的更新可以实现,要不就放一...
- 构建AI系统(三):使用Python设置您的第一个MCP服务器
-
是时候动手实践了!在这一部分中,我们将设置开发环境并创建我们的第一个MCP服务器。如果您从未编写过代码,也不用担心-我们将一步一步来。我们要构建什么还记得第1部分中Maria的咖啡馆吗?我们正在创...
- 函数还是类?90%程序员都踩过的Python认知误区
-
那个深夜,你在调试代码,一行行检查变量类型。突然,一个TypeError错误蹦出来,你盯着那句"strobjectisnotcallable",咖啡杯在桌上留下了一圈深色...
- 《Think Python 2e》中译版更新啦!
-
【回复“python”,送你十本电子书】又到了周三,一周快过去一半了。小编按计划更新《ThinkPython2e》最新版中译。今天更新的是第五章:条件和递归。具体内容请点击阅读原文查看。其他章节的...
- Python mysql批量更新数据(兼容动态数据库字段、表名)
-
一、应用场景上篇文章我们学会了在pymysql事务中批量插入数据的复用代码,既然有了批量插入,那批量更新和批量删除的操作也少不了。二、解决思路为了解决批量删除和批量更新的问题,提出如下思路:所有更新语...
- Python Pandas 库:解锁 combine、update 和compare函数的强大功能
-
在Python的数据处理领域,Pandas库提供了丰富且实用的函数,帮助我们高效地处理和分析数据。今天,咱们就来深入探索Pandas库中四个功能独特的函数:combine、combine_fi...
- 记录Python3.7.4更新到Python.3.7.8
-
Python官网Python安装包下载下载文件名称运行后选择升级选项等待安装安装完毕打开IDLE使用Python...
- Python千叶网原图爬虫:界面化升级实践
-
该工具以Python爬虫技术为核心,实现千叶网原图的精准抓取,突破缩略图限制,直达高清资源。新增图形化界面(GUI)后,操作门槛大幅降低:-界面集成URL输入、存储路径选择、线程设置等核心功能,...
- __future__模块:Python语言版本演进的桥梁
-
摘要Python作为一门持续演进的编程语言,在版本迭代过程中不可避免地引入了破坏性变更。__future__模块作为Python兼容性管理的核心机制,为开发者提供了在旧版本中体验新特性的能力。本文深入...
- Python 集合隐藏技能:add 与 update 的致命区别,90% 开发者都踩过坑
-
add函数的使用场景及错误注意添加单一元素:正确示例:pythons={1,2}s.add(3)print(s)#{1,2,3}错误场景:试图添加可变对象(如列表)会报错(Pytho...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python读取文件夹下所有文件 (59)
- java调用python脚本 (56)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)