centos cython,centos7.0下载
python编程开发app教程(自学编程软件入门)
准备工作
使用python开发应用程序需要python模块kivy。Kivy是一个开源的跨平台Python开发框架,用于开发创新的应用程序。简而言之,这是一个python桌面程序开发框架。什么的强大在于kivy支持linux、mac、windows、android和ios平台,这也是开发app需要这个模块的原因。一系列python教程,免费提供,遇到bug及时反馈,与按钮裙讨论交流60 61 15 02 7虽然kivy是跨平台的,但是如果要在不同平台上使用python代码,就需要将Python代码打包成相应平台的可执行程序。好在kivy project下面有一个打包工具项目——buildozer,这是官方推荐的打包工具。因为相对简单,自动化程度高,其他项目,比如python-for-android,也能起到类似的作用,所以我赢了这里就不介绍了。基维
搭建kivy开发环境
kivy开发环境需要安装在pc上。这里演示了在mac和linux下的安装过程。
为mac安装kivy
安装一些依赖包:
安装cython和kivy:
如果安装kivy时出现错误,请按照以下方式安装kivy:
安装后测试:
注意:如果导入kivy模块时没有报告错误,则安装成功。
为centos7安装kivy
首先安装依赖项:
安装cython和kivy:
Centos安装kivy参考:3359kivy.org/docs/installation/installation-linux.html#使用软件包
注:其他安装kivy的方式可以移动:
用kivy开发第一个python app
安装kivy后,就可以开发app程序了。这里这是hello-world程序的演示。kivy更复杂的用法不是本文的重点,后面会以书面形式介绍。1)创建一个main.py文件,并编写:
2)创建一个hello.kv文件,并写入:
简单解释:main.py是入口函数,定义了一个HelloApp类,继承了kivy.app;Hello.kv文件是一个kivy程序,相当于定义了界面风格等。这个文件的命名规则是类名小写,app移除。
运行第一个python应用。
运行结果:
安装buildozer工具
通过上面的编码,我创建了我的第一个python app程序,可以直接在mac、linux、windows平台上运行。那么我怎么让它在安卓或者苹果手机上运行呢?我们知道要在android上运行,需要将其打包成apk安装程序,所以需要使用前面提到的buildozer工具,.buildozer的安装过程相对简单:
用buildozer工具将kivy程序打包成apk。
在python项目目录中运行:
成功运行将创建一个配置文件buildozer.spec。您可以通过修改配置文件来更改应用程序的名称,然后运行:
运行上面的命令会生成一个跨平台的安装包,可以应用于Android、ios等。如果是用于Android,那就是python-for-Android项目。
第一次运行上述命令时,系统会自动下载Android sdk等必要文件,如下图所示。
注:这里只把演示打包成apk文件,iso平台可以自己研究。参考文件:
python apk程序测试
如果上述所有步骤都成功运行,应该会在项目目录下的bin目录中生成一个apk文件,如下所示
然后下载apk到安卓手机安装。测试结果如下:
打开应用程序:
推土机制造说明
buildozer包装过程中的坑点
如果在打包过程中遇到错误,可以将buildozer.spec的配置文件中的log_level修改为2,然后重新运行。可以看到具体的错误信息。
错误:您可能错过了安装32位库
这个错误是我在centos7上运行Times的失误,大意是系统缺少一些32位的依赖文件。解决方案:
参考:3359 ask. fedora project. org/en/question/9556/how-do-I-install-32 bit-libraries-on-a-64 bit-fedora/
错误报告:编译Cython文件时出错
意思是cython文件中有一个错误。可能是没有安装cython模块,或者是版本有问题。解决方案:
错误:ioerror:没有这样的文件或目录.
这是包装的最后一步。将apk文件复制到项目bin目录是错误的。这是buildozer的一个bug。解决方案:修改
/usr/local/lib/python 2.7/dist-packages/build dozer/Tagets/Android. py文件:在文件开头导入:
将第786行中的以下代码替换为:XXX发现apk名称实际上是如何根据标题构建的:
构建虚拟机
Kivy正式推出了buildozer的虚拟机镜像,已经安装了buildozer和一些依赖文件,为buildozer包测试提供平台。像我之前在mac上用buildozer打包,一直报错,后来换成centos,还是没有我没有成功,所以我下载了这个虚拟机。测试结果如下:
虚拟机下载地址:
注:给能如果不能解决依赖问题,您可以使用该虚拟机进行程序打包。开发环境还是建议用自己的机器。
王者之心2点击试玩
小趴菜教你如何用Python开发手机App..
Python虽然功能强大,但用于开发手机App并不常见。适合作为编码练习或个人娱乐,但模块尚不成熟,bug较多,建议谨慎尝试。
准备工作:
开发App需要使用Python的kivy模块,这是一个开源、跨平台的框架,适用于开发创新应用。它类似于wxpython等桌面程序开发框架,支持多种平台。
推荐一套B站全网第一的自动化测试教程,视频播放量高达1000人,并提供笔记和技术交流。
尽管kivy跨平台,但需将代码打包为平台可执行程序,kivy项目下的buildozer是官方推荐的打包工具,简单高效。
搭建kivy开发环境:
在PC上安装kivy开发环境,以下为mac与linux安装步骤。
install kivy for mac:
安装依赖包,包括cython和kivy。若安装失败,可尝试以下方法安装kivy。安装后进行测试,确保安装成功。
install kivy for centos7:
先安装依赖,再安装cython和kivy。centos安装kivy可参考官方文档。
用kivy开发第一个Python app:
创建main.py和hello.kv文件,定义App类和界面风格。main.py是入口函数,hello.kv定义界面风格。
运行第一个Python app:
运行结果展示。
安装buildozer工具:
通过编码创建Python app,了解如何打包为apk安装程序,使其在手机上运行。
使用buildozer工具打包kivy程序为apk,生成跨平台安装包。
python apk程序测试:
在项目目录下生成apk文件,下载到安卓手机安装,测试效果。
buildozer使用说明:
遇到打包错误时,可修改buildozer.spec配置文件中的log_level为2,查看具体错误信息。
buildozer虚拟:
下载kivy官方buildozer虚拟机镜像,安装buildozer和依赖文件,进行程序打包测试。
kivy开发实例:
本文重点介绍kivy+buildozer开发Python app,简化了开发过程和功能。
使用Cython、pyinstaller防止反编译
本例在centos7测试通过
1、首先安装pyinstaller及Cython
pip install pyinstaller
pip installer Cython
2、本例中文件结构:
.其中config.cfg为配置文件,datacheck.py为入口文件,file_config.py、method.py为需要引入文件。
├── config.cfg
├── datacheck.py
├── file_config.py
├── method.py
3、编辑build_pyd.py文件,内容如下:
from distutils.core import setup
from Cython.Build import cythonize
setup(
name='datacheck',
ext_modules=cythonize(["method.py","file_config.py"])
)
注意 ext_modules只填写引入文件,主运行文件不能写。
编辑后文件结构如下:
├── build_pyd.py
├── config.cfg
├── datacheck.py
├── file_config.py
├── method.py
4、生成so链接文件(如在windows则为pyd文件,未测试)
# python3 build_pyd.py build_ext--inplace
正常情况下会引入文件会生成so文件,文件结构如下:
.
├── build
│ └── temp.linux-x86_64-3.7
│ ├── file_config.o
│ └── method.o
├── build_pyd.py
├── datacheck.py
├── file_config.c
├── file_config.cpython-37m-x86_64-linux-gnu.so
├── file_config.py
├── method.c
├── method.cpython-37m-x86_64-linux-gnu.so
└── method.py
可以新建tmp目录,将datacheck.py及新生成的两个so文件拷贝,并针两个so文件 cpython-gnu去掉。tmp下文件结构如下:
├── datacheck.py
├── file_config.so
└── method.so
5、运行pyinstaller,生成二进制文件
# pythinsatller-F datacheck.py
加-F指生成单个文件。
6、修改datacheck.spec文件
在hiddenimports=加入引入的文件,如不加入,运行程序的时候会有如下提示:
Traceback(most recent call last):
File"datacheck.py", line 7, in<module>
File"file_config.py", line 1, in init file_config
ModuleNotFoundError: No module named'method'
7、再次运行pyinstaller,生成新的二进制文件
# pyinstaller datacheck.spec
8、拷贝dist目录下的二进制文件,使用原来的cfg文件,即可单独运行。