利⽤python开发app实战的⽅法
我很早之前就想开发⼀款app玩玩,⽆奈对java不够熟悉,之前也没有开发app的经验,因此⼀直耽搁了。最近想到尝试⽤python开发⼀款app,google搜索了⼀番后,发现确实有路可寻,⽬前也有了⼀些相对成熟的模块,于是便开始了动⼿实战,过程中发现这其中有很多坑,好在最终依靠google解决了,因此⼩记⼀番。
说在前⾯的话
python语⾔虽然很万能,但⽤它来开发app还是显得有点不对路,因此⽤python开发的app应当是作为编码练习、或者⾃娱⾃乐所⽤,加上⽬前这⽅⾯的模块还不是特别成熟,bug⽐较多,总⽽⾔之,劝君莫轻⼊。
准备⼯作
利⽤python开发app需要⽤到python的⼀个模块–,kivy是⼀个开源的,跨平台的Python开发框架,⽤于开发使⽤创新的应⽤程序。简⽽⾔之,这是⼀个python桌⾯程序开发框架(类似wxpython等模块),强⼤的是kivy⽀持linux、mac、windows、android、ios平台,这也是为什么开发app需要⽤到这个模块。
虽然kivy是跨平台的,但是想要在不同的平台使⽤python代码,还需要将python代码打包成对应平台的可
执⾏程序,好在kivy 项⽬下有个打包⼯具项⽬–,这是官⽅推荐的打包⼯具,因为相对⽐较简单,⾃动化程度⾼,其他项⽬⽐如:也能起到类似的作⽤,这⾥不展开介绍。
搭建kivy开发环境
需要在pc上安装kivy开发环境,这⾥演⽰下mac与linux下的安装过程。
install kivy for mac
安装⼀些依赖包:
brew install pkg-config sdl2 sdl2_image sdl2_ttf sdl2_mixer gstreamer
安装cython以及kivy:
pip install cython==0.25
pip install kivy
如果安装kivy报错,则使⽤下⾯的⽅式安装kivy:
git clone github/kivy/kivy
python setup.py install
安装后测试:
$python
Python 2.7.10 (default, Jul 15 2017, 17:16:57)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import kivy
[INFO  ] [Logger  ] Record log in /Users/didi/.kivy/logs/kivy_
[INFO  ] [Kivy    ] v1.10.1.dev0, git-5f6c66e, 20180507
[INFO  ] [Python  ] v2.7.10 (default, Jul 15 2017, 17:16:57)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)]
说明:导⼊kivy模块没有报错则说明安装成功。
install kivy for centos7
先安装依赖:
yum install \
make \
mercurial \
automake \
gcc \
gcc-c++ \
SDL_ttf-devel \
SDL_mixer-devel \
khrplatform-devel \
mesa-libGLES \
mesa-libGLES-devel \
gstreamer-plugins-good \
gstreamer \
gstreamer-python \
mtdev-devel \
python-devel \
python-pip \
java-devel
安装cython以及kivy:
pip install Cython==0.20
pip install kivy
⽤kivy开发第⼀个python app
安装完kivy就可以开发app程序了,这⾥演⽰下hello-world程序,关于kivy更复杂的⽤法不是本⽂重点,后⾯再成⽂介绍。
1) 创建⼀个main.py⽂件,写⼊:
#! -*- coding:utf-8 -*-
from kivy.app import App
class HelloApp(App):
pass
if __name__ == '__main__':
HelloApp().run()
python能在手机上运行吗
2)创建⼀个hello.kv⽂件,写⼊:
Label:
text: 'Hello, World! I am nMask'
简单说明:main.py是⼊⼝函数,定义了⼀个HelloApp类,该类继承kivy.app;hello.kv⽂件是kivy程序,相当于定义界⾯风格等,该⽂件命名规则为类名⼩写且去除app。
运⾏第⼀个python app
python main.py
运⾏结果:
安uildozer⼯具
通过以上的编码,我创建了⾃⼰的第⼀个python app程序,该程序可以直接在mac、linux、windows平台下运⾏,那么如何让它在安卓或者苹果⼿机上运⾏呢?我们知道在安卓上运⾏,需要将其打包成apk
安装程序,因此就需要⽤到前⾯提到过的buildozer⼯具,(buildozer⼯具可以打包kivy程序,⽀持android、ios等),buildozer的安装过程⽐较简单:
pip install buildozer
使⽤buildozer⼯具将kivy程序打包成apk
在python项⽬⽬录下运⾏:
buildozer init
运⾏成功将会创建⼀个配置⽂件buildozer.spec,可以通过修改配置⽂件更改app的名称等,然后运⾏:
buildozer android debug deploy run
运⾏以上命令将会⽣成跨平台的安装包,可适⽤安卓、ios等,如果⽤于安卓,则是利⽤python-for-android项⽬。
在第⼀次运⾏以上命令的时候,会⾃动在系统中下载安卓sdk等必要⽂件,如下图。(过程需要FQ,⽽且有很多依赖需要下载)
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。