【问题标题】:Generate and execute python both on non-python machine在非python机器上生成和执行python
【发布时间】:2019-02-22 15:26:45
【问题描述】:

短版: 是否有可能创建一个可以分发到没有安装 python 的计算机的独立程序,它在运行时编写 python 脚本并在期间或之后不久执行它?

加长版: 我一直想做的一个项目是创建一个可视化编程界面,让人们无需了解 python/keras/numpy 语法即可使用机器学习。像 lobe 或 rapidminer 这样的程序已经这样做了,但它们都绑定到自己的接口和服务器。我想做的是创建一个程序:

  • 任何人都可以在不需要安装 python/anaconda 的情况下使用
  • 允许用户创建可视化脚本,例如从头开始或 google-blocks
  • 在后台生成包含 keras 或 tf 代码的 python 代码
  • 能够执行脚本
  • 能够向用户显示代码:
    • 教育目的
    • 允许用户将其用作更复杂程序的基础

由于生成部分只需要创建一个文本文件,因此几乎任何界面和语言(例如使用 Qt 的 python/java 或使用 Unity 的 C#/javascript)都符合条件。我认为这绝对是可行的,可能只是很长,但这不是我最关心的问题。

问题: 我试图在互联网上到处搜索诸如独立 python 程序之类的东西,这些程序让我找到了 py2exe。那些 python-to-exe 的工作很好,但它们都需要在包含 python 环境的机器上编译脚本。就我而言,我希望能够在用户的 PC 上生成一个 python 脚本,然后从那里直接运行它。

替代方案

如果这不可能,我可能会自己创建整个 AI 部分,而不是使用 python 或像 keras 或 tensorflow 这样的库,而是在一个统一游戏中。这样做的缺点是它已经存在(如 rapidminer),它的优化/通用性/可定制性较低,并且不会显示“真实”机器学习脚本的外观。

如果有其他选择,我会很高兴听到他们的声音

PS。

我主要有 Python 和 Keras,中等 Java 和少量 Unity3D 或 web JS 经验

我正在使用带有 anaconda 的 Windows

分发到 linux/mac 会很好,但不是必需的

【问题讨论】:

  • 您可以将静态 python 版本捆绑到您的独立程序中。
  • py2exe 和朋友们将 Python 解释器与所需的库子集安装在您的计算机上 一起打包以完成他们的工作。因此,它必须在安装了这些库的机器上完成。您想要的与希望在用户机器上从源代码编译程序成为可能,而源代码不在用户机器上。
  • @BoarGules 所以如果我理解正确,我必须将这些库和 python 合并到我的发行版的某个文件夹中。正如 Christian Scilitoe 所说,为了让用户机器能够执行 python 脚本(现在我正在写这个,这听起来很简单也很合乎逻辑)。我可以在不需要用户手动设置环境的情况下包含 Keras 之类的模块吗?或者这是一个要求吗?
  • @EmielWitting 只要您的.exe 包含所需的一切,就无需设置环境。使用像 keras(带来 numpyscipy 等)这样的复杂库来做到这一点可能说起来容易做起来难。
  • @BoarGules 我知道您可以将所有这些库捆绑到您的 .exe 中,但是对于 py2exe 之类的所有东西,.exe 必须在具有 python 环境的机器上创建。但在我的情况下,.py 只在用户的机器上生成。所以我想我只需要在我的程序/项目中嵌入一个 python 解释器和库,对吧?

标签: python keras visual-programming


【解决方案1】:

也许您应该查看 Orange Data Mining 软件,它是用 python 编写的,并且与您的项目具有相同的目的 (https://orange.biolab.si/)。另一方面,前段时间我尝试编译包含机器学习库的应用程序,但迄今为止,我还没有实现它。相反,我使用的是 WINPYTHON 项目,这是一个便携式 Anaconda 软件,允许您在任何 PC 上运行项目而无需安装任何东西 (https://winpython.github.io/)。

【讨论】:

    【解决方案2】:

    是的,有可能!

    我有同样的需求,所以我写了我的可视化编程语言和 IDE...

    ...可以生成几乎类似于 python 的脚本,并且在应用程序内部进行本地编译,无需使用任何外部编译器或库。

    我的目标架构是移动设备,但它也可以通过 unity 插件在浏览器上运行。 ...是的,没错,它在您的手机或平板电脑上的模拟沙箱中本机运行,并带有自己的内置 IDE。

    它是用 C# 编写的,并在 Unity3d 中实现

    您可以在https://aiBoard.blog查看 ..并在https://youtu.be/DIDgu9jrdLc观看视频

    【讨论】:

      猜你喜欢
      • 2013-11-13
      • 1970-01-01
      • 1970-01-01
      • 2019-09-06
      • 2011-01-05
      • 2016-02-24
      • 2015-03-19
      • 2013-09-20
      • 2019-04-12
      相关资源
      最近更新 更多