将独立的基于Python的Web应用程序分发给非技术用户

时间:2008-10-16 22:00:41

标签: python installer installation

我正在用Python编写一个Web应用程序,供教室里的老师和学生使用。它将从托管网站运行,但我也希望人们能够下载他们可以在本地安装的自包含应用程序,如果他们想要更高的性能,或者他们根本不会在教室中提供互联网连接。

用户无法管理诸如“首先安装Python,然后安装依赖项,下载.tar.gz存档并在命令行中输入这些命令......”之类的指令。我需要能够创建一个可以安装Python,依赖项(Python-LDAP),一些Python代码并将基于Python的Web服务器注册为Windows服务的一体化类型安装程序。

我已经看过以前的问题,但没有一个看起来很相关。我并不担心源代码的安全性(我的应用程序将是开源的,我会卖掉它的内容),我只需要非技术的Windows用户就可以下载并使用我的应用程序而不用担心

我目前的想法是使用NSIS创建一个包含Python和Python-LDAP作为MSI的安装程序,然后将我自己的基于Python的简单Web服务器注册为Windows服务,并在开始菜单中添加一个快捷方式/在桌面上链接到http://localhost。这是否适用于NSIS - 例如,NSIS可以检查当前安装的Python副本吗?有没有更好的方法来做到这一点 - 是否有一个方便的框架可以让我将我的代码推送到一个文件夹并捆绑起来制作一个安装程序?

2 个答案:

答案 0 :(得分:4)

使用NSIS很棒(我也使用它)但我建议使用像pyinstaller这样的“打包器”(我的个人收藏夹,替代品bb_freeze,py2exe)在使用NSIS之前创建一个exe

这样做的主要好处是; 您的下载量较小,因为您没有捆绑整个Python标准库以及您的应用程序不需要的额外内容,并且您将获得一个exe文件来启动!

答案 1 :(得分:0)

您可以在一体化安装程序中尝试包含Apache,MySQL,Python等的Bitnami Stack for Django。它是免费/开源的