我可以基于Android和/或iOS的Python代码可执行代码创建吗?

问题描述 投票:0回答:1

我在Python中开发了一个算法库(+使用例如pandas和numpy),我搜索了一种在Android和iOS上部署这些算法的方法,而无需重写本机代码或任何其他语言。

在探索了几个选项之后,我看到了如何解决Python迁移的四种主要可能性:

  • 将Python代码转换为每个平台的本机代码(Java或Swift / Objective-C)(我不喜欢这样,因为保持相同的代码排队似乎有很多冗余的工作)
  • 将Python代码转换为可由两个操作系统执行的C或C ++(不幸的是,我不熟悉C / C ++,我想我不会;)但是有工具或解释器,如CypthonNuikta,它们可以翻译Python代码到可执行的C或C ++版本?
  • 使用Kivy为这两个操作系统创建一个基于Python的应用程序,但我不想要一个完整的.apk而只是一个AAR或库,我可以将其用作其他应用程序的模块(我不确定这是否有效)
  • Chaquopy的帮助下,通过Python解释器在Android中运行Python代码。但是,我没有看到iOS的任何类似解决方案......

围绕这四个选项,我有几个问题:

  • 是否可以使用CythonNuitka或任何其他工具将所有依赖项的Python代码转换为可由Android和iOS使用的可执行C / C ++代码?
  • 我可以使用Kivy创建一个库(例如在Androidlibrary package on iOS上这样)
  • 我有没有明显的选择?

我知道使用本机代码可能是最快的解决方案,而自动生成的代码可能存在缺陷并且效率低下(并且总是依赖于维护者)。尽管如此,我现在更喜欢将Python代码保留为核心的方式,只要我还处于原型阶段,听听社区的观点会很棒!

android python c++ ios c
1个回答
1
投票

你问过很多问题,请原谅我只回答其中一个问题。

在这种情况下,Cython不会为您节省任何工作。虽然它可以将Python代码转换为C,但生成的代码主要包含对Python C API的调用。因此,您仍需要管理应用程序中包含libpython库的所有详细信息,加载并初始化它。

© www.soinside.com 2019 - 2024. All rights reserved.