2008-10-16 32 views
5

我正在用Python编写一个Web应用程序,供教师和学生在课堂上使用。它将从一个托管网站运行,但我还希望人们能够下载一个自行安装的应用程序,如果他们想要获得更多性能,或者他们在教室中没有可用的Internet连接,则可以在本地安装该应用程序。将独立的基于Python的网络应用程序分发给非技术用户

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

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

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

回答

4

利用NSIS是伟大的(我用它太),但我会建议采用“打包”像pyinstaller(我个人的最爱,替代bb_freeze,py2exe)创建前使用NSIS

主要好处一个exe你这样做是为了; 由于您并未捆绑整个Python标准库以及您的应用程序不需要的额外资料,因此您的下载量更小,并且您将获得一个exe文件来启动!

+0

进一步思考,我会有一个简单的GUI前端窗口,说“服务器正在运行 - 单击此处关闭”以便简单的桌面使用,并为更多技术用户提供不同的安装程序。包装该版本可能是一个好主意,谢谢你的建议。 – 2008-10-19 14:20:03

0

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

相关问题