我们已准备好创建我们的第一个应用程序。

安装 BeeWare 工具
首先,我们需要安装公文包。Briefcase 是一个 BeeWare 工具,可用于打包您的应用程序以分发给最终用户 - 但它也可用于引导新项目。确保您 位于教程 0beeware-tutorial中创建的目录中,并激活了虚拟环境,然后运行:beeware-venv

苹果系统

(beeware-venv) $ python -m pip install briefcase

Linux

(beeware-venv) $ python -m pip install briefcase
安装过程中可能出现的错误如果您在安装过程中看到错误,几乎可以肯定是因为某些系统要求尚未安装。确保您已安装所有平台必备组件。

视窗

(beeware-venv)C:\...>python -m pip install briefcase

BeeWare 工具之一是公文包。公文包可用于打包您的应用程序以分发给最终用户 - 但它也可用于引导新项目。

引导一个新项目
让我们开始我们的第一个 BeeWare 项目!我们将使用 Briefcase new命令创建一个名为Hello World的应用程序。从命令提示符运行以下命令:

苹果系统

(beeware-venv) $ briefcase new

Linux

(beeware-venv) $ briefcase new

视窗

(beeware-venv) C:\...>briefcase new

公文包会询问我们新申请的一些细节。出于本教程的目的,请使用以下内容:

正式名称- 接受默认值:.Hello World

应用名称- 接受默认值:helloworld.

Bundle - 如果您拥有自己的域,请以相反的顺序输入该域。(例如,如果您拥有域“cupcakes.com”,请com.cupcakes 作为捆绑输入)。如果您不拥有自己的域,请接受默认捆绑包 ( com.example)。

项目名称- 接受默认值:.Hello World

说明- 接受默认值(或者,如果您想真正有创意,请提出您自己的说明!)

作者- 在此处输入您自己的姓名。

作者的电子邮件- 输入您自己的电子邮件地址。这将用于配置文件、帮助文本以及将应用程序提交到应用商店时需要电子邮件的任何地方。

URL - 您的应用程序的登录页面的 URL。同样,如果您拥有自己的域,请输入该域的 URL(包括https://)。否则,只需接受默认 URL ( https://example.com/helloworld)。这个 URL 不需要实际存在(现在);仅当您将应用程序发布到应用商店时才会使用它。

许可证- 接受默认许可证 (BSD)。不过,这不会影响本教程的操作 - 因此,如果您对许可证选择有特别强烈的感觉,请随意选择另一个许可证。

GUI 框架- 接受默认选项 Toga(BeeWare 自己的 GUI 工具包)。

公文包将生成一个项目框架供您使用。如果到目前为止您已经按照本教程进行操作,并且接受了所描述的默认值,那么您的文件系统应该类似于:

beeware-tutorial/beeware-venv/...helloworld/LICENSEREADME.rstpyproject.tomlsrc/helloworld/resources/helloworld.icnshelloworld.icohelloworld.png__init__.py__main__.pyapp.py

这个骨架实际上是一个功能齐全的应用程序,没有添加任何其他内容。该src文件夹包含应用程序的所有代码,该pyproject.toml文件描述了如何打包应用程序以进行分发。如果您pyproject.toml在编辑器中打开,您将看到刚刚提供给公文包的配置详细信息。

现在我们有了一个存根应用程序,我们可以使用公文包来运行该应用程序。

以开发者模式运行应用程序
进入helloworld项目目录并告诉公文包以开发人员(或dev)模式启动项目:

苹果系统

(beeware-venv) $ cd helloworld
(beeware-venv) $ briefcase dev[hello-world] Installing dependencies...
...
[helloworld] Starting in dev mode...

Linux

(beeware-venv) $ cd helloworld
(beeware-venv) $ briefcase dev[hello-world] Installing dependencies...
...
[helloworld] Starting in dev mode...

视窗

(beeware-venv) C:\...>cd helloworld
(beeware-venv) C:\...>briefcase dev[hello-world] Installing dependencies...
...
[helloworld] Starting in dev mode...
如果您使用的是更新版本的 Python (3.9+),则此步骤可能会在安装依赖项时引发错误。这通常表现为:Traceback (most recent call last):File "<string>", line 1, in <module>File "C:\...\Local\Temp\pip-install-ytuu_37_\pythonnet\setup.py", line 18, in <module>from wheel import bdist_wheelModuleNotFoundError: No module named 'wheel'----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
根据您的环境的具体情况,它还可能表现为包含以下内容的报告:Building wheel for pythonnet (setup.py) ... errorERROR: Command errored out with exit status 1:...File "c:\...\Local\Programs\Python\Python38\lib\subprocess.py", line 364, in check_callraise CalledProcessError(retcode, cmd)subprocess.CalledProcessError: Command '['...\\python.exe', 'tools\\geninterop\\geninterop.py', 'src\\runtime\\interop38.cs']' returned non-zero exit status 1.----------------------------------------ERROR: Failed building wheel for pythonnetRunning setup.py clean for pythonnet
Failed to build pythonnet
这是因为教程应用程序依赖Python for .NET包来访问 Windows 上的系统库。Python for .NET 不是纯 Python 包 - 它包含需要编译的 C# 模块。Python for .NET 团队发布了这些模块的预编译版本,但在支持更新的 Python 版本时有时会落后。如果您收到此错误,您有四个选择:使用旧版本的 Python。检查PyPI 上的 pythonnet 条目以查看 Python for .NET 当前支持的 Python 版本。为 .NET 安装 Python 的预发布版本。目前处于 alpha 测试阶段的 3.0 版本是一个纯 Python 包,只需要在您的计算机上安装.NET 5 SDK 。不幸的是,这个选项没有很好的记录。有关详细信息,请参阅 Python 以获取 .NET 支持渠道。配置您的环境以支持为 .NET 编译 Python。这是一个中等复杂的过程,需要您拥有 Visual Studio。有关详细信息,请参阅Python for .NET wiki。安装一个非官方编译的轮子。Python for .NET 团队建议将此轮子集合作为可能的来源。.whl文件可以 用; 然后你应该能够重新运行.python -m pip install somefile.whlpython -m pip install --pre beeware

这应该会打开一个 GUI 窗口:

按下关闭按钮(或从应用程序菜单中选择退出),您就完成了!恭喜 - 你刚刚用 Python 编写了一个独立的原生应用程序!

下一步
我们现在有一个工作应用程序,在开发人员模式下运行。现在我们可以添加一些我们自己的逻辑来让我们的应用程序做一些更有趣的事情。在教程 2中,我们将在我们的应用程序中添加一个更有用的用户界面。

BeeWare 峰器 中文文档 - 教程 1 - 你的第一个应用程序相关推荐

  1. BeeWare 峰器 中文文档 - 教程 3 - 分发包装

    到目前为止,我们一直在"开发者模式"下运行我们的应用程序.这使我们可以轻松地在本地运行我们的应用程序 - 但我们真正想要的是能够将我们的应用程序提供给其他人. 但是,我们不想教我们 ...

  2. BeeWare 峰器 中文文档 - 教程 0 - 让我们开始

    教程 0 - 让我们开始吧! 在我们构建我们的第一个 BeeWare 应用程序之前,我们必须确保我们已经具备运行 BeeWare 的所有先决条件. 安装 Python 我们首先需要的是一个运行 Pyt ...

  3. BeeWare 峰器 中文文档 - 教程 6 - 开始这个(第三方)

    到目前为止,我们构建的应用程序只使用了我们自己的代码,加上 BeeWare 提供的代码.但是,在实际应用中,您可能希望使用从 Python 包索引 (PyPI) 下载的第三方库. 让我们修改我们的应用 ...

  4. BeeWare 峰器 中文文档 - 教程 5 - 移动端:Android

    现在,我们将使用我们的应用程序,并将其部署为 Android 应用程序. 将应用程序部署到 Android 的过程与部署为桌面应用程序的过程非常相似.Briefcase 负责为 Android 安装依 ...

  5. BeeWare 峰器 中文文档 - 教程 5 - 移动端:iOS

    现在,我们将使用我们的应用程序,并将其部署为 iOS 应用程序. 将应用程序部署到 iOS 的过程与部署为桌面应用程序的过程非常相似.首先,您运行create命令 - 但是这一次,我们指定我们要创建一 ...

  6. BeeWare 峰器 中文文档 - 教程 2 - 让它变得有趣

    在教程 1中,我们生成了一个能够运行的存根项目,但我们自己没有编写任何代码.让我们看看为我们生成了什么. 产生了什么 在src/helloworld目录中,您应该看到 3 个文件__init__.py ...

  7. React + webpack 开发单页面应用简明中文文档教程(一)一些基础概念

    React + webpack 开发单页面应用简明中文文档教程(一)一些基础概念 React 入门系列教程导航 React + webpack 开发单页面应用简明中文文档教程(一)一些基础概念 Rea ...

  8. opm openresty的包管理器-中文文档

    2022年1月11日13:57:45 官方:https://opm.openresty.org/ 官方文档:https://opm.openresty.org/docs#table-of-conten ...

  9. nest class-validator验证修饰器中文文档

    网上好像没有class-validator验证修饰器的中文翻译,也好像没有官网,只有npm插件介绍里有,但是是英文的.这里我就做回搬运工,并翻译下,好用请点赞 至于使用方法nestjs官网直接cv,不 ...

最新文章

  1. 如何理解卷积神经网络中的1*1卷积
  2. mssql 连接oracle配置,MSSQL通过链接服务器访问Oracle
  3. matlab保存图片如何保证dpi,[转载]matlab 保存高分辨率图像 dpi要在300以上
  4. avalon2学习教程04显示隐藏处理
  5. 前端学习(220):伪元素选择器
  6. java ora 01002_遇到了ora-01002,fetch out of sequence
  7. mirror - 映射在远端节点上的档案
  8. Android Menu
  9. 资管新政:银行资产管理业务的转型与发展 -中国银行刘东海
  10. 2009年11月14日上海讲座-Linux触摸屏驱动PPT
  11. 港科百创 |【香港科大科创产业联盟】正式成立,创始理事相聚第四期科创午餐会...
  12. 计算机语言中double是什么意思,C语言中double是什么意思?_后端开发
  13. php分割金额_PHP实现红包金额拆分算法案例详解
  14. 文化袁探索专栏——消息分发机制
  15. 《知识英雄》后记:我是一名记者
  16. 微信服务商和渠道商区别
  17. 区划代码和城乡划分代码
  18. android好用的相机软件推荐,手机拍照软件哪个好-目前最好用的拍照软件排行
  19. CNAS 检验机构认可规范文件清单
  20. 提高写作水平的十条建议

热门文章

  1. 快来了解String的秘密吧
  2. 格兰因果模型可以分析哪些东西_相关不等于因果,深度学习让AI问出“十万个为什么”...
  3. zznuoj 1073 画个圈圈诅咒你
  4. 电容笔和触控笔有什么区别?电容笔十大品牌排行
  5. winform打开cad图纸_CAD打开文件后发现图纸显示不全怎么办?
  6. Python代码封装的可执行exe文件反编译为Py脚本
  7. android迷你平板,iPad mini没想带Android平板玩
  8. ireport1.3.2 pdf字体加粗失效的问题
  9. 容积捕获 —— 高水准的现实主义
  10. emoji表情字符(emoji-java)