我们有一个应用程序(实际上是一堆Twisted类),它可以在特定的Python版本上运行,并且依赖于很多模块。该应用程序需要部署到无法访问Internet的Windows Server计算机上。
目前,我们在以下两者之间进行选择:
setup.py
,%PYTHONPATH%
。处理这种情况的公认的方法是什么?显然,我们不能用pip
,easy_install.exe
和其他祝福的工具,我们的做法是愚蠢和不雅。
第三种选择是,您可以考虑使用PyInstaller(http://www.pyinstaller.org)将应用程序部署为可执行文件。您不需要在客户端计算机上安装任何东西(甚至不需要python)
PyInstaller是一个程序,可以在Windows,Linux,Mac OS X,Solaris和AIX下将Python程序转换(打包)为独立的可执行文件。与类似工具相比,PyInstaller的主要优点是PyInstaller自2.4以来的任何版本的Python都可以使用,由于透明压缩,它可以构建较小的可执行文件,它是完全多平台的,并使用OS支持来加载动态库,从而确保完全兼容。
我在一个项目中使用过它,以便在Linux和Windows上都部署独立的应用程序。像魅力一样工作。我的项目还使用了Twisted。
在您当前的两个选择之间,setup.py方法更具Pythonic功能。但是请注意,如果您的任何模块都具有某些c实现以实现更快的性能而需要编译,则您不能在客户端计算机上执行该操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句