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文件,即可单独运行。

阅读剩余
THE END