跨平台部署和轻松安装

jme*_*etz 5 python cross-platform batch-file py2exe scientific-computing

编辑

我想到的一个选项但是不太了解的是,例如,对于Windows,将批处理脚本编写为:

  • 搜索Python安装,下载并安装(如果不存在)
  • 然后使用distutils也安装捆绑包来处理依赖项.

看起来这可能是一个相对优雅和简单的解决方案,但我不知道如何继续 - 任何想法?

原始问题

简单来说

您会针对以下情况推荐什么方法?

  • 用于创建技术应用程序的Linux开发环境
  • 现在也可以部署在Windows和Mac上
  • Python中现有的代码库
  • wine 不会安装Windows版本的Python
  • 没有Windows安装可用于创建虚拟Windows/mac机器的CD
  • java由于现有的代码库,移植会产生很大的开销
  • 客户端不是技术用户,即提供标准的Python软件包还不够 - 真正需要可安装的自包含产品

背景

我正在Linux下编写技术和科学应用程序,但也需要其中一些可以部署在Windows/MacO机器上.

在过去,我经常使用Python,但我发现对于不熟悉安装python包的非技术用户来说,创建一个简单的可执行文件(通过使用eg py2exe)是很困难的,因为我无法获得Windows版本的使用Python安装wine.

虽然java看起来是一个不错的选择,但如果可能的话,我想避免从Python中移植现有代码,特别是因为Python也允许编写可移植代码.

我意识到我在这里试图涵盖很多基础,因此任何有关最合适的解决方案(即使不完美)的建议都将受到赞赏.

Chr*_*isC 5

我有一个项目听起来与你想要做的事情有点类似,我看到了一些相同的问题,因为我通常在Linux上开发并移植到Windows.这是一个Python + wxPython的+ NumPy的+ SciPy的+ matplotlib +各种其他的包,和我所发现的最好的工作是使用PyInstaller.PyInstaller在处理第三方Python包方面做得非常出色,并且非常轻松地创建了一个EXE.

我认为,如果你使用py2exe或PyInstaller或多或少有IIRC以来在Windows上做的工作还有是要来凑凑热闹几个窗口库.也许你可以运行Windows EC2实例?根据您的应用程序的复杂程度,您可能可以使用Portable PythonPyPy.

我曾经尝试过为Windows机器箱下载Python和所需的软件包 - 它工作但它总是有点脆弱.如果你能找到一个安装程序生成器,可以让你指定的依赖关系(如高级安装 -不是免费的,但效果很好),我想尝试,首先因为它似乎是一个小更稳健.