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

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

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

相关推荐

阿里云国际站ECS:阿里云ECS如何提高网站的访问速度?

TG:@yunlaoda360引言:速度即体验,速度即业务在当今数字化的世界中,网站的访问速度已成为决定用户体验、用户留存乃至业务转化率的关键因素。页面加载每延迟一秒,都可能导致用户流失和收入损失。对...

高流量大并发Linux TCP性能调优_linux 高并发网络编程

其实主要是手里面的跑openvpn服务器。因为并没有明文禁p2p(哎……想想那么多流量好像不跑点p2p也跑不完),所以造成有的时候如果有比较多人跑BT的话,会造成VPN速度急剧下降。本文所面对的情况为...

性能测试100集(12)性能指标资源使用率

在性能测试中,资源使用率是评估系统硬件效率的关键指标,主要包括以下四类:#性能测试##性能压测策略##软件测试#1.CPU使用率定义:CPU处理任务的时间占比,计算公式为1-空闲时间/总...

Linux 服务器常见的性能调优_linux高性能服务端编程

一、Linux服务器性能调优第一步——先搞懂“看什么”很多人刚接触Linux性能调优时,总想着直接改配置,其实第一步该是“看清楚问题”。就像医生看病要先听诊,调优前得先知道服务器“哪里...

Nginx性能优化实战:手把手教你提升10倍性能!

关注△mikechen△,十余年BAT架构经验倾囊相授!Nginx是大型架构而核心,下面我重点详解Nginx性能@mikechen文章来源:mikechen.cc1.worker_processe...

高并发场景下,Spring Cloud Gateway如何抗住百万QPS?

关注△mikechen△,十余年BAT架构经验倾囊相授!大家好,我是mikechen。高并发场景下网关作为流量的入口非常重要,下面我重点详解SpringCloudGateway如何抗住百万性能@m...

Kubernetes 高并发处理实战(可落地案例 + 源码)

目标场景:对外提供HTTPAPI的微服务在短时间内收到大量请求(例如每秒数千至数万RPS),要求系统可弹性扩容、限流降级、缓存减压、稳定运行并能自动恢复。总体思路(多层防护):边缘层:云LB...

高并发场景下,Nginx如何扛住千万级请求?

Nginx是大型架构的必备中间件,下面我重点详解Nginx如何实现高并发@mikechen文章来源:mikechen.cc事件驱动模型Nginx采用事件驱动模型,这是Nginx高并发性能的基石。传统...

Spring Boot+Vue全栈开发实战,中文版高清PDF资源

SpringBoot+Vue全栈开发实战,中文高清PDF资源,需要的可以私我:)SpringBoot致力于简化开发配置并为企业级开发提供一系列非业务性功能,而Vue则采用数据驱动视图的方式将程序...

Docker-基础操作_docker基础实战教程二

一、镜像1、从仓库获取镜像搜索镜像:dockersearchimage_name搜索结果过滤:是否官方:dockersearch--filter="is-offical=true...

你有空吗?跟我一起搭个服务器好不好?

来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。昨天闲的没事的时候,随手翻了翻写过的文章,发现一个很严重的问题。就是大多数时间我都在滔滔不绝的讲理论,却很少有涉及动手...

部署你自己的 SaaS_saas如何部署

部署你自己的VPNOpenVPN——功能齐全的开源VPN解决方案。(DigitalOcean教程)dockovpn.io—无状态OpenVPNdockerized服务器,不需要持久存储。...

Docker Compose_dockercompose安装

DockerCompose概述DockerCompose是一个用来定义和管理多容器应用的工具,通过一个docker-compose.yml文件,用YAML格式描述服务、网络、卷等内容,...

京东T7架构师推出的电子版SpringBoot,从构建小系统到架构大系统

前言:Java的各种开发框架发展了很多年,影响了一代又一代的程序员,现在无论是程序员,还是架构师,使用这些开发框架都面临着两方面的挑战。一方面是要快速开发出系统,这就要求使用的开发框架尽量简单,无论...

Kubernetes (k8s) 入门学习指南_k8s kubeproxy

Kubernetes(k8s)入门学习指南一、什么是Kubernetes?为什么需要它?Kubernetes(k8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。它...

取消回复欢迎 发表评论: