當前位置:首頁 » 編程語言 » iospython開發環境

iospython開發環境

發布時間: 2023-01-30 11:50:22

編程時選用的程序設計語言,對軟體的開發與維護的影響

編程時選用的程序設計語言,對軟體的開發與維護的影響?
這個是有一定的影響的,有些編程語言維護起來比較簡單,而有些編程語言維護起來難度還是比較大的。另外也要考慮到運維人員的接受程度。

② windows系統的python打包程序,在ios中能運行嗎

無fa可說
關注
python開發的程序在ios上應用_Python開發iOS程序 原創
2020-12-29 09:58:52

無fa可說

碼齡4年

關注
對,你沒有看錯,就是使用Python開發iOS程序!

我們見過使用JS、Lua、Ruby開發iOS程序的,但是基本沒有見過使用Python開發iOS程序(軟體)的,這是為什麼?關於這個問題,我後面會回答。

那麼,怎麼用Python開發iOS程序呢?其實我們最主要解決的就是下面幾件事情:

在iOS App中安裝Python解釋器。

搭建Python和objc通信的橋梁。

如何配置工程並開發。

如果不使用UIKit這些,那麼就要使用OpenGL ES這些了,這種方式,主要是用於開發游戲的,我們這里不涉及這些。

當然,以下所有內容都是在一台已經安裝了Xcode的Mac上進行的。

在iOS App中安裝Python解釋器

Python-iOS-support

pybee開源了一個可以嵌入到iOS工程中的Python編譯腳本,具體位置在這:

默認是使用Python 3.4.2,編譯x86_64、i386、ARMv7、ARMv7s、ARM64共5個版本,然後打成一個臃腫包,可選framework或者.a。

如果真的要用於生產環境的話,只要把Makefile中的

TARGETS-iOS=iphonesimulator.x86_64iphonesimulator.i386iphoneos.armv7iphoneos.armv7siphoneos.arm64

修改為:

TARGETS-iOS=iphoneos.armv7iphoneos.arm64

我們只需要支持ARMv7和ARM64即可,ARMv7s可以兼容ARMv7,所以可以讓包小一些。

③ Android移動應用自動化測試都需要哪些環境

所需環境:java(JDK)、Android-sdk、android模擬器(可用安卓真機)、Appium、python/Java
1. Java環境:移動應用程序是java程序開發,要運行java語言開發的程序就需要搭建java運行環境,直接安裝JDK或JRE即可。
2. Android-sdk:Android程序開發、調試工具包,需要使用工具包內的ADB命令和Uiautomatorwebview查看元素屬性工具
3. android模擬器:開發調試安卓應用,就需要一部安卓手機,使用模擬器代替安卓真機,也可以使用真機,需要開啟root許可權
4. Appium:移動應用自動化測試框架,提供了常用移動及應用的操作的API方法,支持Android、ios
5. python/java:需要一門語言來調用Appium框架提供的API方法來操作移動應用 傳智播客有全套Android移動應用自動化測試的視頻教程,你可以去官網找找看。

④ python可以寫軟體么怎麼寫

22點24分准時推送,第一時間送達


編輯:技術君 | 來源:youerning



上一篇:

正文


前言

用 Python 寫安卓 APP 肯定不是最好的選擇,目前用Java和 kotlin 寫的居多,但是肯定也是一個很偷懶的選擇,而且實在不想學習 Java,再者,就編程而言已經會的就 Python與Golang(註:Python,Golang水平都一般),那麼久Google了一下Python 寫安卓的 APP 的可能性,還真行。

既然要寫個APP,那麼總得要有個想法吧。其實想做兩個APP來著,一個是自己寫著好玩的,一個是關於運維的。關於運維的APP,設計應該如下

可能長這樣

然後設計應該是這樣。

如果覺得可行的話,評論留言一下你覺得應該寫進這個APP的運維常用命令吧^_^,筆者暫時想到的是top,free -m,df –h,uptime,iftop,iotop,如果有什麼好的想法就狠狠的砸過來吧,筆者到時應該也會把這個寫成一個項目放到github上,大家一起用嘛,開源才是王道,哈哈。

開發安卓APP

我們使用kivy開發安卓APP,Kivy是一套專門用於跨平台快速應用開發的開源框架,使用Python和Cython編寫,對於多點觸控有著非常良好的支持,不僅能讓開發者快速完成簡潔的交互原型設計,還支持代碼重用和部署,絕對是一款頗讓人驚艷的NUI框架。

因為跨平台的,所以只寫一遍代碼,就可以同時生成安卓及IOS的APP,很酷吧。

本文會帶大家寫一個Hello world並瞧一瞧 Python 版的2048的代碼

kivy安裝

環境說明:筆者在用的是Python2.7.10

這里僅介紹windows平台安裝

所有平台參考: https://kivy.org/#download

更新pip,setuptools

python -m pip install --upgrade pip wheel setuptools

然後是安裝所需要的依賴

python -m pip install docutils pygmentspypiwin32 kivy.deps.sdl2 kivy.deps.glew
kivy.deps.gstreamer --extra-index-url https://kivy.org/downloads/packages/simple/

值得注意的是,上面的安卓需要訪問Google,所以請自備梯子,而且kivy.deps.gstreamer這個包比較大(95MB),可以單獨本地安裝,http://pan..com/s/1o7mlxNk

然後就是安裝kivy了

python -m pip install kivy

至此,安裝就已經完畢了,值得注意的是64位系統沒有開啟虛擬化支持,在導入kivy的時候會報錯,如果是64位系統就設置一下機器的BIOS,開啟虛擬化支持吧。

註:這里只是kivy的運行環境,這樣我就能直接在windows機器上直接調試了,怎麼將代碼編譯成APK文件我們會在後面講到。

如果kivy在python中應該就能導入了。

按照世界慣例,我們」hello」一下吧。

新建一個.py文件

from kivy.app import Appfrom kivy.uix.button importButton
class TestApp(App):
def build(self):
return Button(text='Hello,kivy')
TestApp().run()

運行

然後會彈出一個框,大概如下,點擊」hello,kivy」會變顏色

點擊窗口並按「F1」會這個窗口的一些屬性

然後我們回過頭看一看代碼。

##導入App,然後讓TestApp這個類繼承
from kivy.app import App##導入一個Button,運維有這個button,當你點擊的時候才會有所反應
from kivy.uix.button
importButton
###定義類,名字必須是xxxAppclass TestApp(App):
###build一個Button
def build(self):
###返回一個Button,文字內容是「Hello,kivy」
return Button(text='Hello,kivy')
##運行,因為繼承了App,所以才有的run這個方法TestApp().run()

上面就是我們的Hello了

在windows上運行當然沒有什麼太大的意義,怎麼在安卓手機上運行才是我們想要的,

這時我們需要一個編譯環境。

官方說明的環境,如下:

You』ll need:


  • A linux computer or a virtual machine

  • Java

  • Python 2.7 (not 2.6.)

  • Jinja2 (python mole)

  • Apache ant

  • Android SDK

  • 雖然官方提供了一個似乎還不錯的虛擬機鏡像,但是還是有很多內容需要翻出去,所以筆者在這里提供相對而言更加完善的鏡像

    下載地址:http://pan..com/s/1geyAY7x

    注:virtualbox,vmware需自行下載

    root密碼:kivy

    默認使用賬戶kivy,密碼:kivy123

    當然你也可以下載官方鏡像,因為第一次編譯需要去國外下一大堆東西,所以請自行去下載。

    Virtual Machine

    A Virtual Machine with Android SDK and NDK and all otherpre-requisites pre installed to ease apk generation:

  • Kivy Buildozer VM

  • Or select the Torrent

  • 在筆者提供的鏡像里,桌面上有一個dev_and,只要將上面寫的代碼,放入這個文件夾即可(當然也可以在其他目錄,後面會講到)。

    在公眾號Python人工智慧技術後台回復「面試」,獲取騰訊Python面試題和答案。

    cd Desktop/dev_and/

    初始化會在當前目錄生成一個buildozer.spec文件 用於配置生成的apk相關信息

    buildozer init

    ###修改buildozer.spec文件

    vi buildozer.spec

    至少修改下面三項

    # (str) Title of your applicationtitle = helloworld
    # (str) Package namepackage.name = helloapp
    # (str) Package domain (needed for android/ios packaging)package.domain = youer.com

    然後注釋

    # (str) Application versioning (method 1)#version.regex = __version__ = ['"](.*)['"]#version.filename = %(source.dir)s/main.py

    下面這行改為非注釋
    version = 1.2.0

    最後我們生成我們需要的apk文件

    buildozer -v android debug

    buildozer.spec更詳細的相關參數配置參考:

    http://buildozer.readthedocs.org/en/latest/specifications.html

    buildozer命令會在當前文件夾創建一個bin,該文件夾裡面有我們想要的apk文件

    helloapp-1.2.0-debug.apk

    helloapp-1.2.0-debug.apk

    安裝以後是這樣:

    話說在編譯的時候可能出現空間不足的情況,根據虛擬機的不同(vmware或virtualbox)自行擴容吧。

    最後我們來瞧瞧簡易版Python開發的2048這個游戲的源代碼。

    代碼:

    https://github.com/mvasilkov/kb/tree/master/6_2048

    先看效果圖:

    試玩了一下,還是蠻流暢的,有興趣的可以下載玩一下

    下載地址:http://pan..com/s/1eQZACDW

    這個游戲代碼雖然不長,但是還是蠻占篇幅的,所以簡要的說明一下流程。

    主要由三部分組成,一是素材,圖片音頻之類的文件,二是Python代碼,三是kv文件,這個kv文件有點像 html 中的css。

    Python代碼的文件名一般命名為 main.py

    然後一定有一個叫做 XXXApp 的類,並繼承 App。

    比如該類叫做GameApp,那麼該目錄下的kv文件則必須為Game,如上圖所示,如果不是,那麼kv文件中的一些設定就不會生效。

    比如設定一個標簽


    Label:
    id: time
    text: 'xxxx'
    font_size: 60

    id為time,text文本內容為'xxxx',然後字體為60

    好吧,點到為止吧,不過似乎什麼都沒點到~~~

    你還有什麼想要補充的嗎?

    你在看嗎?一起成長

⑤ ios系統怎麼安裝python 新手小白,准備入門

在mac上搭建python環境:

mac系統其實自帶了一個python的執行執行環境,用來運行python還行,但是開發可能就不夠了,因此我們需要重新安裝python。這里有兩種方案安裝:

1.homebrew

brew install python

這個方案比較簡單,如果出錯的話可以給前面加sudo試試,這個安裝的python可能不是最新版.

2.從官網下載安裝

大家可以在官網下載安裝最新版的python,安裝比較無腦,一路按下去就OK,缺點是以後升級,卸載都得自己維護.

這兩個方法安裝的python的位置是不一樣的,大家可以用:

which python

來查看安裝位置.安裝完成後在終端中鍵入python來驗證安裝是否成功.

⑥ 基於Appium+WDA+Python搭建IOS自動化測試全紀錄(三):真機demo運行

前期回顧:
基於Appium+WDA+Python搭建IOS自動化測試全紀錄(二):模擬器demo運行
基於Appium+WDA+Python搭建IOS自動化測試全紀錄(一):環境搭建

在模擬器將demo跑通之後,就要在真機上測試啦,模擬器總是要為真機服務的。

在真機上主要是涉及到簽名及證書的問題,一下blog寫的特別好,然而其實我也沒有看懂,RSA演算法神馬的早在密碼學課程上還給老師了。
iOS App 簽名的原理
主要在此簡單記錄一下證書的配置吧。
在xcode中找到build Setting配置部分(之所以把這張圖放出來是因為我最開始找不到這個配置,萌新啥都找不到):

更改一下三個欄位對應的內容:
Code Siging identify 證書裡面對應的開發者
Proct Bundle Identify 對應的bundleID
Provisioning Profile 包含了 證書 / Entitlements 等數據,並由蘋果後台私鑰簽名的數據包。
數據包是.mobileprovision文件格式結尾 在終端中輸入如下命令即可看到裡面的信息

改完之後 我們開發的程度就可以裝到真機上啦,這個時候選擇在真機上運行,就可以啦。

測試app裝到真機上之後,還要考慮如何開啟py腳本,在真機上進行測試。
這里需要注意兩點:

最後找到的地址大概如下:

放到xcode中進行簽名證書配置,注意雖然我們打開的是WebDriverAgent文件夾,但是我們要配置的是WebdDriverAgentRunner 在其Build Settings中進行與證書有關的配置

配置完畢後還需要再WebdDriverAgentRunner中添加一個RoutingHTTPServer.frameork

點擊添加之後->add Other
在如下路徑可以查找到該framework

找的一定是appium文件路徑下的!
上邊關於wda並沒有做過多說明,因為還不怎麼了解 等了解了再補充相關知識

py腳本主要是配置有更改,主體文件請見開頭(二)模擬器demod的blog
在真機上配置更改如下:

然後啟動appium 發現真機上裝上了廁所app 裝上了WebDriverAgentRunner 然後用python運行腳本就ok拉!

以上為從搭建環境-》模擬器跑demo-》真機跑demo的簡單記錄,不涉及到原理方面的講解,如有錯誤之處還請提出。

【之後還有跳一跳的安卓環境搭建
wda的inspector相關環境還沒記錄~】

[Tbc]

個人博客:
進擊的程序茗

⑦ 如何用手機編程Python

手機下載APP
手機分為智能手機(Smart phone) [2] 和非智能手機(Feature phone),一般智能手機的性能比非智能手機要好,但是非智能手機比智能手機性能穩定,大多數非智能手機和智能手機使用英國ARM公司架構的CPU。智能手機的主頻較高,運行速度快,處理程序任務更快速,日常更加的方便(例如:諾基亞n81主頻有369兆赫茲);而非智能手機的主頻則比較低,運行速度也比較慢(例如:諾基亞5000主頻就是50兆赫茲)。
智能手機(Smart phone),是指像個人計算機一樣,具有獨立的操作系統,大多數是大屏機,而且是電容式觸摸屏,也有部分是電阻式觸摸屏,功能強大實用性高。可以由用戶自行安裝包括游戲等第三方服務商提供的程序,通過此類程序來不斷對手機的功能進行擴充,並可以通過移動通訊網路來實現無線網路接入的這樣一類手機的總稱」。從廣義上說,智能手機除了具備手機的通話功能外,還具備了PDA的大部分功能,特別是個人信息管理以及基於無線數據通信的瀏覽器和電子郵件功能。智能手機為用戶提供了足夠的屏幕尺寸和帶寬,既方便隨身攜帶,又為軟體運行和內容服務提供了廣闊的舞台。很多增值業務可以就此展開,如:股票、新聞、天氣、交通、商品、應用程序下載、音樂圖片,游戲下載等等
手機類型顧名思義就是指手機的外在類型,比較常用的分類是把手機分為直板式、折疊式(單屏、雙屏)、滑蓋式、旋轉式、側滑式等幾類。
要翻開蓋才可見到主顯示器或按鍵,且只有一個屏幕,則這種手機被稱為單屏翻蓋手機。市場上還推出了雙屏翻蓋手機,即在翻蓋上有另一個副顯示屏,這個屏幕通常不大,一般能顯示時間、信號、電池、來電號碼等功能。屏幕比較小,一般在2.2英寸或1.8英寸,處理器較慢。

⑧ python蘋果電腦能用嗎

都可以呀Windows, Linux ,MacBook都可以,沒有誰合適不合適,不過工作中編程用MacBook是最多的.

熱點內容
編譯opengl 發布:2024-04-26 21:57:32 瀏覽:506
ubuntu查找文件夾 發布:2024-04-26 21:48:18 瀏覽:203
qq瀏覽器wifi助手怎麼查看密碼 發布:2024-04-26 21:48:18 瀏覽:669
在線安裝androidsdk 發布:2024-04-26 21:42:33 瀏覽:480
杭州地鐵wifi密碼是多少 發布:2024-04-26 21:32:45 瀏覽:320
重裝系統源碼 發布:2024-04-26 21:32:44 瀏覽:275
國外大叔解壓視頻 發布:2024-04-26 20:44:00 瀏覽:228
存儲念第幾音 發布:2024-04-26 20:33:35 瀏覽:251
衡陽dns的伺服器地址是多少 發布:2024-04-26 20:32:26 瀏覽:270
我的世界空島伺服器青金石 發布:2024-04-26 20:18:03 瀏覽:650