百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

「Python自学笔记」Beeware初体验之Python全平台应用打包

off999 2025-06-12 15:12 44 浏览 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

相关推荐

路由器密码锁解锁教程(路由器密码忘怎么设置)

1.路由器IP地址定位:通常而言,路由器在连接主网线之后,会广播一个自身的网络IP地址,一般如下:192.168.1.0,192.168.1.1,目前各大路由器厂商也会播出一些怪异的地址,比如10.1...

台式电脑键盘按键错乱怎么恢复

如果你的机械键盘按键错乱,你可以尝试将键盘连接到电脑上,然后通过按下“Ctrl”、“Alt”和“Del”键同时重启电脑,看看是否能够恢复默认设置。另外,你还可以尝试在控制面板中找到键盘设置,检查是否有...

移动硬盘格式化后还能用吗(移动硬盘格式化后数据会丢失吗)

当然可以使用!格式化只是里面的所有文件会没有,还可以再存储的。格式化(format)是指对磁盘或磁盘中的分区(partition)进行初始化的一种操作,这种操作通常会导致现有的磁盘或分区中所有的文件被...

手机系统升级好不好

手机系统并不是随时更新,都是好用的,手机主要针对你的处理器,如果老型使用年头比较多的手机,不建议更新系统,更新系统之后容易造成耗电量非常大,卡顿现象比较严重,而新出的手机产品处理器功率都偏大,这种手机...

win2003序列号企业版(win2003 enterprise序列号)

  Windows2003:JB88F-WT2Q3-DPXTT-Y8GHG-7YYQY  cky24-q8qrh-x3kmr-c6bcy-t847y  win2003EnterpriseServer:...

电脑c盘满了应该怎么办(如果电脑c盘满了怎么办啊)
电脑c盘满了应该怎么办(如果电脑c盘满了怎么办啊)

1、电脑桌面双击此电脑2、进入后找到Windows(C)盘,然后鼠标右击选择属性3、点击磁盘清理4、勾选需要清理的文件,最后点击确定即可1、运用磁盘清理软件清理C盘,大约可为C盘释放50M-800M空间。2、关闭休眠功能,在开始菜单的运行里...

2025-12-18 11:03 off999

win10桌面突然清空了(电脑桌面全部被隐藏了怎么恢复)

1、右键点击任务栏,然后选择任务管理器或按快捷键Ctrl+Shift+Esc;  2、打开任务管理器后,切换到详细信息模式。在进程中找到“桌面窗口管理器”(英文版系统找DesktopWindowM...

华硕笔记本全系列介绍(华硕笔记本全系列介绍视频)

关于这个问题,华硕笔记本一共有多个系列,每个系列定位不同。以下是华硕笔记本的主要系列及其定位:1.ASUSVivoBook(维沃系列):面向普通用户和学生,注重轻薄、时尚设计和价格实惠。2.AS...

华为笔记本电脑i5和i7区别(华为笔记本电脑i5和i7区别是什么)

主要是性能上的区别。如果将CPU比作火车运输,那么i5等于4条高铁,i7可以是6条或者8条高铁,运输量倍数增加。i7可以看作是i5的高配版。功能不同。i5和i7两个版本,其主要区别是在处理器的频率不...

如何下载office2007办公软件
  • 如何下载office2007办公软件
  • 如何下载office2007办公软件
  • 如何下载office2007办公软件
  • 如何下载office2007办公软件
u盘启动蓝屏(联想电脑进入u盘启动蓝屏)
u盘启动蓝屏(联想电脑进入u盘启动蓝屏)

电脑插入U盘后蓝屏的原因如下:1、Windows的系统分区存在磁盘错误或文件错误2、主板的SATA或IDE控制器驱动程序受到了损坏或安装不正确3、计算机遭到了病毒木马、流氓软件等恶意程序的攻击解决办法如下:1、执行磁盘扫描程序对所有的磁盘驱...

2025-12-18 08:51 off999

下载新版微信并安装(下载新版微信并安装到手机)

1.首先打开手机的浏览器,在搜索栏中输入微信官网,并点击搜索。2.出现微信后点击下载,下载完成后,点击安装。   3.安装完成后,再回到桌面,点击“微信”4.输入账号密...

测速在线测试(测速在线测试高铁)

回答:不靠谱。例如:SPEEDTEST是一家叫Ookla的公司开发的测速工具,稍有经验的朋友想必对它都不会陌生。Ookla在全世界各地维护了大量测速节点,SPEEDTEST测量的就是与这些测速节点间的...

格式工厂免费版(格式工厂免费版破解版)

不收费用格式工厂是由上海格式工厂网络有限公司创立于2008年2月,是面向全球用户的互联网软件。格式工厂发展至今,已经成为全球领先的视频图片等格式转换客户端。格式工厂致力于帮用户更好的解决文件使用问题,...

路由器连接电脑插哪个端口(路由器跟电脑的连接线怎么插)

电脑连接路由器插入路由器LAN口。具体方法如下1、光纤或网线插到路由器的WAN口上,(或网线连接modem的line口,modem的lan口连接了无线路由的wan口);2、电脑网线从路由器的LAN口上...

取消回复欢迎 发表评论: