2009-12-21 96 views
3

我需要为我的用户重新发布Python 2.6。如何正确地将python安装和安装到windows用户

目前,我从http://www.python.org/download/执行msi安装程序的无提示安装,但是我遇到了一些问题,例如安装了其他版本的python,但没有得到默认设置。

另一方面,尽管这可能很罕见,但如果用户已经安装了python并且我自己安装了,那么可能会导致冲突。

那么,哪个最好的行动诅咒?如何自动执行此安装?我已经有http://installbuilder.bitrock.com,但可用的Django堆栈对我的应用来说太大了,我需要预先安装几个python模块。

我不知道在这种情况下的virtualenv将是最好的选择,但仍然有正确安装的问题...

+0

这可能没有帮助,但是您是否真的需要将Python作为常规安装来分发?有一些像py2exe这样的与InnoSetup等安装程序构建者协同工作,可以让您在不干扰本地Python安装或其他问题的情况下为用户提供可执行文件。 – 2009-12-21 20:58:33

+0

我无法使用py2exe,因为它适用于可以在Python中插入脚本/插件的服务器,所以我需要完整的python发行版... – mamcx 2009-12-21 21:09:19

+0

@mamcx,这绝不应该是一个真正的问题。即使一个应用程序是py2exe,它仍然能够从文件系统导入并使用像execfile()这样的函数。也许单独提出一个问题会给你一个简单的解决方案,并使这个特定的问题没有意义。 – 2009-12-21 21:28:30

回答

2

我没有用它,超越一些初步的研究,但ActiveState的ActivePython一般不你想要什么,如果你正在寻找商业预制解决方案。

我已经开发了包含自己的捆绑Python的软件,并且从来没有任何冲突问题。在我们的例子中,它与软件的其余部分一起安装,而不是C:\ Python26,它仅供软件使用,而不是作为系统上任何现有Python的替代品。一个预编译为.pyo的stdlib的完整Python仅需要约10-20MB的空间,具体取决于您包含哪些模块。所以我不担心可能的冗余。

由于您确切知道您拥有的所有第三方库的哪些版本,因此它还使您的生活更轻松地拥有自己的副本;您不必担心用户升级会破坏应用程序的内容。反说法是,出于安全原因,一些用户可能需要最新版本的库。但根据我的经验,这些用户的数量非常少,对他们来说,这只是一小部分工作。

最后,我认为你有理由要完整的Python安装。以防万一您只想分发单个应用的方式,请参阅py2exe

+0

非法重新部署ActivePython。是必要的支付,并且非常昂贵... – mamcx 2009-12-21 21:08:33

+1

是的,它是商业的,所以你有成本的缺点,以及可能的支持优势。你没有提到任何成本要求,所以我把它作为一个选项。 – DNS 2009-12-21 21:27:13