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

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

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

相关推荐

工程师必备!DeepSeek自动化运维全攻略

每天省出3小时,故障自修复+智能监控实战指南导语“总在深夜被报警短信吵醒?教你搭建智能运维体系,让DeepSeek自己管自己!”正文技能1:自动化故障诊断配置智能诊断规则:yaml复制alert_ru...

Spug - 轻量级自动化运维平台(自动化运维平台 devops)

对于中小型企业而言,进行主机和应用的管理是比较麻烦的,应用部署往往需要直接连接服务器,再进行手动的环境配置、代码拉取、应用构建和部署发布等工作,容易出错,且耗时费力。一个好的自动化运维平台,往往能大大...

轻量级无 Agent 的一个好用的“小麻雀”自动化运维平台工具!-Spug

对于中小型企业而言,进行主机和应用的管理是比较麻烦的,应用部署往往需要直接连接服务器,再进行手动的环境配置、代码拉取、应用构建和部署发布等工作,容易出错,且耗时费力。一个好的自动化运维平台,往往能大大...

运维自动化之实用python代码汇总(python自动化运维常用模块)

本文总结了运维工作中经常用到的一些实用代码块,方便在需要的时候直接搬过来使用即可1.执行系统命令,获取返回结果fromsubprocessimportPopen,PIPE,STDOUTcp...

从代码小白到自动化大师:Python 编程实战

昨天我聊了一下关于线性代数、概率统计、微积分核心概念的学习,也花了一些时间恢复一下大学时候学这些的记忆,确实来说数学很有趣也很考验人,兴趣是最好的老师对吧,既然对AI感兴趣,总要认真的学一学,接下来我...

锐捷:基于Python TextFSM模块的网络设备自动化运维方法

网络设备自动化运维,首先要实现网络设备与自动化运维平台对接,即通过代码实现登录网络设备并获取信息。邮政业科技创新战略联盟单位锐捷自主研发的数据中心交换机产品已全面支持NETCONF协议,可适用于和SD...

基于Python+vue的自动化运维、完全开源的云管理平台

真正的大师,永远都怀着一颗学徒的心!一、项目简介今天说的这个软件是一款基于Python+vue的自动化运维、完全开源的云管理平台。二、实现功能基于RBAC权限系统录像回放DNS管理配置中心强大的作业调...

编程与数学:在Python里怎么用turtle库函数填色?

这里只给出一个示例,一个最简单的示例。看懂这个示例,你就能在自己的代码里需要填色的地方填色。首先,与前面发的Python绘画程序一样,先要装入turtle库。然后在代码中,下面需要填色时,先写一个填色...

Python UV 环境下的 PyKDL 运动学库安装

视频讲解:PythonUV环境下的PyKDL运动学库安装_哔哩哔哩_bilibilimujoco-learning这个仓库,改成uv管理环境依赖后,原来的一些包有些缺失,比如之前安装的PyKD...

python最新版3.11正式发布,有哪些新特色?(3/5)

异步任务的语法更完美python编程语言对异步编程的支持一直在改进,比如python2.0版开始就增加了生成器(generator),在3.4版开始增加了asyncio库,随后在3.5版中...

清华北大都在用!Python王者归来(全彩版)

纸上得来终觉浅,绝知此事要躬行。今天给大家带来一份由清华大学出版的《python王者归来》。在当下全民互联网,大数据的时代,Python已然成为了学习大数据、人工智能时代的首选编程语言,Python...

第六章:Python模块与包(python模块与包与类的关系区别)

6.1模块基础6.1.1理论知识模块是一个包含Python定义和语句的文件,其扩展名为.py。模块可以将代码组织成逻辑单元,提高代码的可维护性和复用性。通过将相关的函数、类和变量放在同一个模块中...

语言教育项目实战之一:Ubuntu下安装Python环境

如下项目,运行在#ubuntu#上,使用#pytho#,从最初环境开始,逐渐深入。此项目以语言学习为主要目的,实现听写、跟读、对话的服务,面向中小学生、大学生、涉外交流人员等。计划通过pyenv管...

openai-python v1.79.0重磅发布!全新Evals API升级,音频转录终极

2025年5月17日,OpenAI官方在GitHub上发布了openai-python库的最新版本——v1.79.0。本次版本重点围绕Evals评估API进行了多项功能完善,同时修复了音频转录接口的重...

你真的用对了吗?7个常被误用的Python内置函数及最佳实践

你是否曾经在使用多年的工具中突然发现一个新功能,然后感叹:“我怎么一直没发现这个?”没错,今天我们就来体验一把“Python函数版”的这种乐趣。这些函数很可能已经是你日常代码的一部分,但我敢打赌,你并...

取消回复欢迎 发表评论: