python如何做成app?_幸运_39378260的博客-CSDN博客_python制作手机apppython如何做成app?工具:python-3.8.3-amd64.exe+kivy1.10.0+VirtualBox-6.1.34-150636-Win.exeKivy是一套用于跨平台快速应用开发的开源框架,只需编写一套代码,便可运行于各大桌面及移动平台上(包括Linux,Windows,OSX,Android,iOS,以及RaspberryPi)Kivy采用Python和Cython编写,在国外已经十分火爆,受关注程度甚至一度超越了老牌的PythonGUI工具PyQt。可惜Kivy在国内还鲜为人知。这一篇先教大家,在Windows上安装Kivy。具体需要的工具都在百度网盘的名称为:python如何做成app的文件夹里一、Python3.8.3版本+kivy1.10.01、安装python3.8.32、Cmd命令运行,查看python版本Python--version寻找python位置:wherepython3、安装pycharm2021.14、在pycharm里的文件-》设置-》python解释器:更改刚才安装的python3.8.3安装路径如:C:\Python38\python.exe5、在+号那安装查找kivy等各种依赖包#二、用命令提示符(可cmd弹出)安装查找kivy等各种依赖包1、请确保你的电脑上,已经安装了Python3.8.3,并且已经设置好了pip国内源(国内镜像)。2、设置匹配的国内镜像,可以让其他下载乃更快一点:可以试试:pipinstallpip-setting然后pip-setting3、通过命令安装virtualenv并创建虚拟环境。输入命令pipinstallvirtualenv并执行。4、输入命令python-mpipinstall--upgradepip升级pip版本。5、执行成功后,可以查看升级是否成功。查看pip,输入命令pipshowpip,可以看到当前的pip版本已升级到20.2.3,可以进行下一步安装。6、执行命令,生成虚拟环境:virtualenvtestvir7、在BISO里打开virtualenv一、Windows下安装kivy启动Windows命令行窗口(可直接在pycharm里文件-》设置-》python解释器-》在+号那安装查找kivy等各种依赖包安装)按Windows徽标+R,输入cmd,再按回车启动Windows命令行窗口二.pycharm安装kivy依赖**(和下面的pip安装kivy依赖效果一致,用pycharm安装kivy的依赖包更加方便点**)可直接在pycharm里文件-》设置-》python解释器-》在+号那安装查找kivy等各种依赖包安装)1.分别查找:docutils、pygments、pypiwin32、sdl2、glew、gstreamer、image2、查找到之后,找到和下面的长得差不多的依赖包来安装就好,不一定就是一模一样(有的是横线代替小圆点)docutils、pygments、pypiwin32、kivy.deps.sdl2、kivy.deps.glew、kivy.deps.gstreamer、image三.pip安装kivy依赖在windows命令行中,执行以下命令:(1)python-mpipinstalldocutilspygmentspypiwin32kivy.deps.sdl2kivy.deps.glew(2)python-mpipinstallkivy.deps.gstreamer下面这个installimage很多教程都没有。这个是我实操得出来的。(3)python-mpipinstallimage安装kivy在windows命令行中,执行以下命令:python-mpipinstallkivy安装kivy官方示例在windows命令行中,执行以下命令:python-mpipinstallkivy_examples三、验证kivy安装在PythonIDLE或在pycharm里新建一个python文件:main.py,依次输入下面的代码:(注意缩进)fromkivy.appimportAppfromkivy.uix.buttonimportButtonclassTestApp(App):defbuild(self):returnButton(text=‘iPaoMi’)TestApp().run()最后,你将看到执行上面的Python代码,会运行如下的窗口,这可以算是kivy版的helloworld了。或者下面的代码(是一个小孩子很喜欢的自由彩色画板):fromkivy.appimportAppfromkivy.uix.widgetimportWidgetfromkivy.graphicsimportColor,Ellipse,Linefromrandomimportrandomfromkivy.uix.buttonimportButtonclassMyWidgetWidget(Widget):defon_touch_down(self,touch):color=(random(),random(),random())withself.canvas:Color(*color)touch.ud[‘Line’]=Line(points=(touch.x,touch.y),width=5)defon_touch_move(self,touch):touch.ud['Line'].points=touch.ud['Line'].points+[touch.x,touch.y]classMyPaintApp(App):defbuild(self):parent=Widget()self.painter=MyWidgetWidget()clearbtn=Button(text=“Clear”)clearbtn.bind(on_release=self.clear_canvas)parent.add_widget(self.painter)parent.add_widget(clearbtn)returnparendefclear_canvas(self,obj):self.painter.canvas.clear()ifname==‘main’:MyPaintApp().run()通过kivy提供的打包工具,你可以将kivy程序打包,运行到不同的平台上,包括各大主流的桌面系统和手机上(如Android,iOS)。**四、安装上虚拟机VirtualBox**版本:VirtualBox-6.1.34-150636-Win.exe1、下载VirtualBox-6.1.34-150636-Win.exe安装,下载Oracle_VM_VirtualBox_Extension_Pack-6.1.34.vbox-extpack,(Oracle_VM_VirtualBox_Extension_Pack-6.1.34.vbox-extpack存放到D盘的VirtualDisk文件夹)2、安装上虚拟机VirtualBox后运行,然后直接双击Oracle_VM_VirtualBox_Extension_Pack-6.1.34.vbox-extpack就把这扩展安装上了(安装后可在VirtualBox-》管理-》全局设定-》扩展,即看见此扩展)。在安装虚拟系统3、建立***享文件夹因为虚拟机无法和Windows直接交互,所以文件传输必须依靠***享文件夹进行)。我在这里创建了一个VirtualDisk文件夹作为***享文件夹这一步可以理解为创建一个空白文件夹,我们需要记住它的位置。在VirtualDisk文件夹里存放下载好的kivydev.ova(我这里在D盘里新建了三个文件夹,virtualbox文件夹用来安装VirtualBox-6.1.34-150636-Win.exe,VirtualDisk文件夹用来存放kivydev.ova和Oracle_VM_VirtualBox_Extension_Pack-6.1.34.vbox-extpack,virtualbox_system文件夹用来存放安装kivydev.ova系统的虚拟系统盘)4、导入kivydev.ova系统安装完成的虚拟机是没有任何系统的,此时需要导入kivydev.ova系统。在管理菜单下,点击导入虚拟电脑选择下载好的kivydev.ova文件注意:在安装虚拟系统盘时出现安装不上去的情况,返回代码:E_INVALIDARG(0x80070057)解决方法导入可能是一开始安装了一下,然后取消安装了。举个例子,一开始忘记修改虚拟机路径了,然后就点了装,然后被我取消了,然后去别的地方安装的时候,就出现了返回代码:E_INVALIDARG(0x80070057)的错误,然后我找到了之前的默认路径,把之前取消安装的残余给删掉了,然后我又打开了打开VirtualBox管理器(重新安装VirtualBox-6.1.34-150636-Win.exe)**安装好虚拟系统盘如下图所示:5、配置虚拟机点击设置,进入虚拟机的设置界面,然后找到最下面的***享文件夹,点击右边的加号,添加***享文件夹位置贴我们之前创建的***享文件夹位置,将自动挂载打勾,点击确定,配置完成。五、编辑一个kivy程序进行测试(我们已经完成了kivy安装和虚拟机部分的安装,接下来就要把pycharm里运行好的main.py,放在虚拟机内进行调用,进行打包测试。)六、打包成Apk文件1、打开我们创建完成的虚拟机。点击启动,耐心等待到进入Linux桌面。2、打开桌面的FileSystem,接着点击左边栏sf_VirtualDisk(我们之前创建的***享文件夹)。里面有我们保存的"main.py"和"kivydev.ova"。注意:进去系统后发现没有看见***享文件夹,怎么办?办法如下:oracleVMvirtualbox安装增强功能与设置全屏虚拟机:VirtualBox要使用全屏和***享等功能需要为虚拟机安装增强功能>>点击"设备"_>“安装增强功能”桌面上会出现光驱图标,VBOXADDITIOINS_3.28_64453,如果没有也可以在media文件夹中去找(2)安装增强功能打开它,找到里面的VBoxLinuxAdditions-x86.run打开终端,进入到cd/media/VBOXADDITIONS_XXX写上以下命令:#shvboxlinuxadditions.run运行丫的(不需要#号)到此,增强功能安装完毕,reboot(3)现在在虚拟系统里可以看见***享文件夹3、点击左边栏kivydev目录下找到kivy,在kivy目录下进入accordion。再将"main.py"复制到当前目录下(即**/home/kivydev/kivy/accordion/**目录下)。它会覆盖此目录下的示例——一个main.py文件。因为打包的时候,主程序的名字都是main.py。右击空白区域,打开OpenTerminalHere命令框。(如果目录下没有buildozer.spec文件,执行这一步)在此框内键入以下代码,生成一个buildozer.spec文件buildozerinit接着再输入命令,打开buildozer.spec文件,主要修改Title(应用名字,我设置为SamplePainter),package.name(打包名,同样设置成SamplePainter),package.domain(打包成哪一种ios或者安卓,这里我不改,默认打包成安卓文件)。其余的建议暂时不要修改。修改完成后保存Save,关闭文件,回到命令框。geditbuildozer.spec在命令框内键入:buildozerandroid_newdebug进行打包,此过程需要等待几分钟。打包完成,按照提示的地址寻找打包后的文件。把这个文件复制到***享文件夹内七、发送到手机并安装回到Windows,打开我们的***享文件夹VirtualDis,可以看见创建的SamplePainter.apk文件。把文件发送到手机,注意如果文件名后缀不是apk,请手动重命名为apk后缀。安装到手机。在这里插入图片描述,用手机打开App,可看到效果。总结在cmd里安装kivy会产生很多和版本不一的问题,建议大家下载的python版本要和此文一致,记得升级pip版本,cmd里运行:python-mpipinstall--upgradepip,直接用pycharm安装kivy等各种依赖包安装比较方便。
参考资料: