在离线系统上安装模块和应用程序的规范方法

米莎·阿列菲耶夫(Misha Arefiev)

我们有一个应用程序(实际上是一堆Twisted类),它可以在特定的Python版本上运行,并且依赖于很多模块。该应用程序需要部署到无法访问Internet的Windows Server计算机上。

目前,我们在以下两者之间进行选择:

  • 必须先安装Python,然后再解压缩所有模块并运行的Python脚本setup.py
  • 制作一个NSIS安装程序来安装Python,然后使用.exe安装程序安装所有模块,然后将较小的模块解压缩到其他目录中,然后将该目录添加到中%PYTHONPATH%

处理这种情况的公认的方法是什么?显然,我们不能用pipeasy_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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在多个系统上使用CMake安装C ++应用程序

来自分类Dev

部署和安装应用程序以及数据库(MySQL或MariaDB)-离线环境-

来自分类Dev

无法从Chrome操作系统上的Chrome网上应用店安装Android / ARC应用程序

来自分类Dev

在Android上离线运行Web应用程序

来自分类Dev

分发和安装 Win10 应用程序的方法

来自分类Dev

连接到Linux系统时,自动在Android设备上安装多个应用程序

来自分类Dev

TCP上的RTU是否是符合规范的Modbus应用程序?

来自分类Dev

闪亮的应用程序上的版本规范无效

来自分类Dev

如何在Boost 1.57中安装Boost模块(应用程序和dll)

来自分类Dev

在LiveCD / USB上安装应用程序

来自分类Dev

在LiveCD / USB上安装应用程序

来自分类Dev

在Windows 10上安装应用程序

来自分类Dev

在单独的USB上安装应用程序

来自分类Dev

有没有一种方法可以检测使用本地C#调用的系统上安装了哪些Windows Store应用程序?

来自分类Dev

在本地运行Flask应用程序的规范方法

来自分类Dev

应用程序输入规范:绘制方法的输入数据

来自分类Dev

Mac、Windows 和 Linux 上的 Java 桌面应用程序安装程序

来自分类Dev

有什么方法可以建立虚假的用户和连接社交图谱以离线测试我的应用程序?

来自分类Dev

如何设计系统以在移动应用程序和Web上共享相同的内容?

来自分类Dev

不同机器和操作系统上的应用程序行为不同

来自分类Dev

在Azure Web应用程序上存储图像。文件系统限制和性能?

来自分类Dev

如何在32位和64位系统上运行exe Java应用程序?

来自分类Dev

如何列出系统中安装的所有应用程序?

来自分类Dev

卸载/安装系统应用程序而无需生根设备

来自分类Dev

如何列出系统中安装的所有应用程序?

来自分类Dev

在应用程序安装上运行方法

来自分类Dev

确定哪个应用程序在我的系统上产生某些声音的可能方法?

来自分类Dev

在Worklight应用程序中离线测试

来自分类Dev

Angular在线/离线应用程序

Related 相关文章

  1. 1

    在多个系统上使用CMake安装C ++应用程序

  2. 2

    部署和安装应用程序以及数据库(MySQL或MariaDB)-离线环境-

  3. 3

    无法从Chrome操作系统上的Chrome网上应用店安装Android / ARC应用程序

  4. 4

    在Android上离线运行Web应用程序

  5. 5

    分发和安装 Win10 应用程序的方法

  6. 6

    连接到Linux系统时,自动在Android设备上安装多个应用程序

  7. 7

    TCP上的RTU是否是符合规范的Modbus应用程序?

  8. 8

    闪亮的应用程序上的版本规范无效

  9. 9

    如何在Boost 1.57中安装Boost模块(应用程序和dll)

  10. 10

    在LiveCD / USB上安装应用程序

  11. 11

    在LiveCD / USB上安装应用程序

  12. 12

    在Windows 10上安装应用程序

  13. 13

    在单独的USB上安装应用程序

  14. 14

    有没有一种方法可以检测使用本地C#调用的系统上安装了哪些Windows Store应用程序?

  15. 15

    在本地运行Flask应用程序的规范方法

  16. 16

    应用程序输入规范:绘制方法的输入数据

  17. 17

    Mac、Windows 和 Linux 上的 Java 桌面应用程序安装程序

  18. 18

    有什么方法可以建立虚假的用户和连接社交图谱以离线测试我的应用程序?

  19. 19

    如何设计系统以在移动应用程序和Web上共享相同的内容?

  20. 20

    不同机器和操作系统上的应用程序行为不同

  21. 21

    在Azure Web应用程序上存储图像。文件系统限制和性能?

  22. 22

    如何在32位和64位系统上运行exe Java应用程序?

  23. 23

    如何列出系统中安装的所有应用程序?

  24. 24

    卸载/安装系统应用程序而无需生根设备

  25. 25

    如何列出系统中安装的所有应用程序?

  26. 26

    在应用程序安装上运行方法

  27. 27

    确定哪个应用程序在我的系统上产生某些声音的可能方法?

  28. 28

    在Worklight应用程序中离线测试

  29. 29

    Angular在线/离线应用程序

热门标签

归档