如何将Python部署到Windows用户?

25 投票
4 回答
25845 浏览
提问于 2025-04-15 15:30

我很快就要推出一个测试版应用,这个应用可以让用户在Python上创建自定义的集成脚本。

这个应用主要针对Mac OS X和Windows系统,而我遇到的问题是在Windows上,通常Python是没有预装的。

我现在的做法是静默安装Python 2.6,但我发现它默认并不会激活,而且在使用命令行选项时路径也没有设置。我担心如果之前已经安装了Python,升级到新版本可能会导致其他问题...

所以,我在想有没有更好的办法来处理这个问题。如果我把整个Python 2.6的目录复制到我的应用的一个子目录下,然后在那儿安装所有东西,这样可以吗?或者使用virtualenv的话,是否可以在机器上已经安装Python的情况下运行不同版本的Python?

我之前也尝试过用DLL嵌入Python,觉得这样很简单,但失去了调试的能力,所以我转向了命令行插件。

我通过命令行执行这些插件,并读取STDOUT和STDERR的输出。这个应用是用Delphi/Lazarus开发的。我还安装了其他模块,比如JSON和RPC客户端、Win32com、ORM等等。我用bitrock创建了安装程序。

更新:最终用户是小企业主,而Python脚本是由开发者编写的。我想避免在部署时增加任何额外的步骤,所以我希望能有一个完全集成的设置。

4 个回答

4

你可以把Python解释器整合到你的Delphi应用程序里,使用的是P4D这个工具。这个工具的组件实际上是可以用的,而且是双向的,也就是说,Delphi的类可以作为二进制扩展被Python使用,同时Python解释器也可以在Delphi里面运行。我还在Google Code的“问题”页面上看到过一个补丁,可以让它和Lazarus兼容,不过那里似乎还有一些未解决的问题。

13

你可以试试用 py2exe。这个工具可以把你的Python程序打包成一个.exe文件,里面已经包含了Python环境!

15

把一个 可携带的Python 文件夹从你的安装程序中复制出来,放到和你的Delphi/Lazarus应用程序同一个文件夹里。然后把所有的路径设置好。

撰写回答