欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用BeeWare實(shí)現(xiàn)iOS調(diào)用Python方式

 更新時(shí)間:2023年12月19日 09:09:15   作者:培根芝士  
這篇文章主要介紹了使用BeeWare實(shí)現(xiàn)iOS調(diào)用Python方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

1、準(zhǔn)備工作

1.1、安裝Python

1.2、設(shè)置虛擬環(huán)境

我們現(xiàn)在將創(chuàng)建一個(gè)虛擬環(huán)境——一個(gè)“沙盒”,如果我們將軟件包安裝到虛擬環(huán)境中,我們計(jì)算機(jī)上的任何其他Python項(xiàng)目將不會(huì)受到影響。

如果我們把虛擬環(huán)境搞得一團(tuán)糟,我們將能夠簡(jiǎn)單地刪除它并重新開始,而不會(huì)影響我們計(jì)算機(jī)上的任何其他Python項(xiàng)目,也無需重新安裝Python。

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

如果生效,終端提示符應(yīng)該被更改,它應(yīng)該有一個(gè)(beeware-venv)前綴。表明目前處于BeeWare虛擬環(huán)境中。

如果不是,請(qǐng)重新運(yùn)行最后一個(gè)命令(activate命令)以重新激活虛擬環(huán)境。

2、創(chuàng)建BeeWare應(yīng)用程序

2.1、安裝BeeWare工具

BeeWare可用于打包應(yīng)用程序以分發(fā)給最終用戶,但它也可用于引導(dǎo)新項(xiàng)目。

確保你處于beeware-venv虛擬環(huán)境,然后運(yùn)行:

python -m pip install briefcase

2.2、引導(dǎo)一個(gè)新項(xiàng)目

我們將使用以下命令創(chuàng)建一個(gè)名為Hello World的應(yīng)用程序:

briefcase new

BeeWare將要求我們提供新應(yīng)用程序的一些細(xì)節(jié):

  • Formal Name - 接受默認(rèn)值: Hello World.
  • App Name - 接受默認(rèn)值:helloworld。
  • Bundle - 如果您擁有自己的域名,請(qǐng)按相反順序輸入該域名。(例如,如果您擁有“cupcakes.com”域名,請(qǐng)輸入com.cupcakes作為包名)。如果您沒有自己的域名,請(qǐng)接受默認(rèn)包名(com.example)。
  • Project Name - 接受默認(rèn)值: Hello World.
  • Description - 描述信息,接受默認(rèn)值
  • Author - 輸入您自己的姓名。
  • Author’s email - 輸入您自己的電子郵件地址。這將在配置文件、幫助文本以及將應(yīng)用程序提交到應(yīng)用程序商店時(shí)需要電子郵件的任何地方中使用。
  • URL - 您應(yīng)用程序的登錄頁(yè)面的URL。同樣,如果您擁有自己的域名,請(qǐng)?jiān)谠撚蛎ò╤ttps://)輸入U(xiǎn)RL。否則,只需接受默認(rèn)URL(https://example.com/helloworld)。此URL不需要實(shí)際存在(目前);只有當(dāng)您將應(yīng)用程序發(fā)布到應(yīng)用程序商店時(shí),它才會(huì)被使用。
  • License - 接受默認(rèn)許可證:BSD。這不會(huì)影響項(xiàng)目運(yùn)行。
  • GUI framework - 接受默認(rèn)選項(xiàng),Toga(BeeWare自己的GUI工具包)。

BeeWare將生成一個(gè)項(xiàng)目架構(gòu):

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

這個(gè)架構(gòu)實(shí)際上是一個(gè)功能齊全的應(yīng)用程序,沒有添加任何其他內(nèi)容。

src目錄包含應(yīng)用程序的所有代碼,tests目錄包含初始測(cè)試用例,pyproject.toml文件描述了如何打包應(yīng)用程序進(jìn)行分發(fā),包含剛剛提供給BeeWare的配置詳細(xì)信息。

2.3、項(xiàng)目架構(gòu)

在src/helloworld目錄中,您應(yīng)該看到3個(gè)文件:__init__.py、__main__.py和app.py。

  • __init__.py 將helloworld目錄標(biāo)記為可導(dǎo)入的Python模塊。它是一個(gè)空文件;它存在的事實(shí)告訴Python解釋器,helloworld目錄定義了一個(gè)模塊。
  • __main__.py 將helloworld模塊標(biāo)記為一個(gè)可執(zhí)行模塊類型
  • app.py 包含創(chuàng)建應(yīng)用程序窗口的邏輯

3、部署到iOS

要編譯iOS應(yīng)用程序,我們需要Xcode

3.1、創(chuàng)建iOS應(yīng)用程序腳手架

briefcase create iOS

完成后,我們將有一個(gè)build/helloworld/ios/xcode目錄,其中包含Xcode項(xiàng)目,以及應(yīng)用程序所需的支持庫(kù)和應(yīng)用程序代碼。

3.2、編譯iOS應(yīng)用程序:

briefcase build iOS

3.3、運(yùn)行iOS應(yīng)用程序:

briefcase run iOS

也可以直接用Xcode打開項(xiàng)目進(jìn)行編譯運(yùn)行。

4、添加第三方依賴庫(kù)

以requests為例

在app.py添加import requests

此時(shí)運(yùn)行時(shí)報(bào)錯(cuò):

ModuleNotFoundError: No module named 'requests'

在app的根目錄中有一個(gè)名為pyproject.toml的文件。這個(gè)文件包含第一次運(yùn)行 briefcase new命令時(shí)提供的所有配置細(xì)節(jié)

修改requires配置

requires = [
    "requests",
]

當(dāng)Briefcase構(gòu)建app時(shí),會(huì)自動(dòng)運(yùn)行pip install requests命令把requests包安裝到app中。

將修改pyproject.toml后,執(zhí)行下面命令升級(jí)已打包app中的依賴項(xiàng):

briefcase update iOS

升級(jí)完成后,使用briefcase build iOS和 briefcase run iOS命令重新運(yùn)行

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python+Selenium實(shí)現(xiàn)在Geoserver批量發(fā)布Mongo矢量數(shù)據(jù)

    Python+Selenium實(shí)現(xiàn)在Geoserver批量發(fā)布Mongo矢量數(shù)據(jù)

    這篇文章主要為大家詳細(xì)介紹了如何利用Python+Selenium實(shí)現(xiàn)在 Geoserver批量發(fā)布來自Mongo中的矢量數(shù)據(jù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-07-07
  • 利用Python封裝MySQLHelper類實(shí)現(xiàn)數(shù)據(jù)庫(kù)的增刪改查功能

    利用Python封裝MySQLHelper類實(shí)現(xiàn)數(shù)據(jù)庫(kù)的增刪改查功能

    Python 連接 MySQL 的方法有很多,常用的有 pymysql 和 mysql-connector-python 兩種庫(kù),本文主要介紹了如何封裝一個(gè)MySQLHelper類,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的增刪改查功能,感興趣的可以了解一下
    2023-06-06
  • Python3中map(),reduce(),filter()的詳細(xì)用法

    Python3中map(),reduce(),filter()的詳細(xì)用法

    這篇文章主要介紹了Python3中map(),reduce(),filter()的詳細(xì)用法,Python3中的map()、reduce()、filter()?這3個(gè)一般是用于對(duì)序列進(jìn)行操作的內(nèi)置函數(shù),它們經(jīng)常需要與?匿名函數(shù)?lambda?聯(lián)合起來使用
    2022-08-08
  • Python數(shù)據(jù)類型-序列sequence

    Python數(shù)據(jù)類型-序列sequence

    這篇文章主要介紹了Python數(shù)據(jù)類型-序列sequence,在前面,我們已經(jīng)對(duì)Python學(xué)習(xí)做了系統(tǒng)的知識(shí)梳理(Python思維導(dǎo)圖),我們接下來把知識(shí)點(diǎn)分節(jié)進(jìn)行細(xì)講。這一節(jié),我們講解序列,需要的朋友可以參考下
    2022-01-01
  • python os.path模塊常用方法實(shí)例詳解

    python os.path模塊常用方法實(shí)例詳解

    os.path模塊主要用于文件的屬性獲取,在編程中經(jīng)常用到,以下是該模塊的幾種常用方法。感興趣的朋友跟隨小編一起看看吧
    2018-09-09
  • 基于Python實(shí)現(xiàn)視頻去重小工具

    基于Python實(shí)現(xiàn)視頻去重小工具

    這篇文章主要為大家詳細(xì)介紹了如何通過Python語言編寫簡(jiǎn)單的視頻去重小工具,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起嘗試一下
    2023-03-03
  • 怎樣保存模型權(quán)重和checkpoint

    怎樣保存模型權(quán)重和checkpoint

    這篇文章主要介紹了如何保存模型權(quán)重和checkpoint,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python數(shù)字圖像處理之高級(jí)濾波代碼詳解

    python數(shù)字圖像處理之高級(jí)濾波代碼詳解

    這篇文章主要介紹了python數(shù)字圖像處理之高級(jí)濾波代碼詳解,介紹了許多對(duì)圖像處理的濾波方法,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • Python基礎(chǔ)語言學(xué)習(xí)筆記總結(jié)(精華)

    Python基礎(chǔ)語言學(xué)習(xí)筆記總結(jié)(精華)

    給大家分享一篇關(guān)于Python基礎(chǔ)學(xué)習(xí)內(nèi)容的學(xué)習(xí)筆記整理總結(jié)篇,里面匯集了學(xué)習(xí)Python基礎(chǔ)語言的難點(diǎn)和技巧,分享給大家。
    2017-11-11
  • Python 帶有參數(shù)的裝飾器實(shí)例代碼詳解

    Python 帶有參數(shù)的裝飾器實(shí)例代碼詳解

    這篇文章主要介紹了Python 裝飾器,帶有參數(shù)的裝飾器實(shí)例代碼詳解,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-12-12

最新評(píng)論