python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > 使用BeeWare实现iOS调用Python

使用BeeWare实现iOS调用Python方式

作者:培根芝士

这篇文章主要介绍了使用BeeWare实现iOS调用Python方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

1、准备工作

1.1、安装Python

1.2、设置虚拟环境

我们现在将创建一个虚拟环境——一个“沙盒”,如果我们将软件包安装到虚拟环境中,我们计算机上的任何其他Python项目将不会受到影响。

如果我们把虚拟环境搞得一团糟,我们将能够简单地删除它并重新开始,而不会影响我们计算机上的任何其他Python项目,也无需重新安装Python。

mkdir beeware-tutorial
cd beeware-tutorial
python3 -m venv beeware-venv
source beeware-venv/bin/activate

如果生效,终端提示符应该被更改,它应该有一个(beeware-venv)前缀。表明目前处于BeeWare虚拟环境中。

如果不是,请重新运行最后一个命令(activate命令)以重新激活虚拟环境。

2、创建BeeWare应用程序

2.1、安装BeeWare工具

BeeWare可用于打包应用程序以分发给最终用户,但它也可用于引导新项目。

确保你处于beeware-venv虚拟环境,然后运行:

python -m pip install briefcase

2.2、引导一个新项目

我们将使用以下命令创建一个名为Hello World的应用程序:

briefcase new

BeeWare将要求我们提供新应用程序的一些细节:

BeeWare将生成一个项目架构:

beeware-tutorial/
    beeware-venv/
        ...
    helloworld/
        CHANGELOG
        LICENSE
        README.rst
        pyproject.toml
        src/
            helloworld/
                resources/
                    helloworld.icns
                    helloworld.ico
                    helloworld.png
                __init__.py
                __main__.py
                app.py
        tests/
            __init__.py
            helloworld.py
            test_app.py

这个架构实际上是一个功能齐全的应用程序,没有添加任何其他内容。

src目录包含应用程序的所有代码,tests目录包含初始测试用例,pyproject.toml文件描述了如何打包应用程序进行分发,包含刚刚提供给BeeWare的配置详细信息。

2.3、项目架构

在src/helloworld目录中,您应该看到3个文件:__init__.py、__main__.py和app.py。

3、部署到iOS

要编译iOS应用程序,我们需要Xcode

3.1、创建iOS应用程序脚手架

briefcase create iOS

完成后,我们将有一个build/helloworld/ios/xcode目录,其中包含Xcode项目,以及应用程序所需的支持库和应用程序代码。

3.2、编译iOS应用程序:

briefcase build iOS

3.3、运行iOS应用程序:

briefcase run iOS

也可以直接用Xcode打开项目进行编译运行。

4、添加第三方依赖库

以requests为例

在app.py添加import requests

此时运行时报错:

ModuleNotFoundError: No module named 'requests'

在app的根目录中有一个名为pyproject.toml的文件。这个文件包含第一次运行 briefcase new命令时提供的所有配置细节

修改requires配置

requires = [
    "requests",
]

当Briefcase构建app时,会自动运行pip install requests命令把requests包安装到app中。

将修改pyproject.toml后,执行下面命令升级已打包app中的依赖项:

briefcase update iOS

升级完成后,使用briefcase build iOS和 briefcase run iOS命令重新运行

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文