【问题标题】:Deploying a Python Script to Windows and Linux将 Python 脚本部署到 Windows 和 Linux
【发布时间】:2013-07-16 13:23:34
【问题描述】:

我有一个需要在 Linux 和 Windows 环境中运行的 python 服务器,我的问题是关于部署的。部署解决方案而不是仅仅双击文件并运行它的最佳方法是什么?

由于我在服务器上使用 server_forever(),我可以从命令行运行脚本,但这会使 python 窗口保持打开状态。如果我注销机器,该过程自然会停止。那么,如果用户登录或离开机器,部署需要继续运行的 python 脚本的最佳方法是什么。

由于我将使用多个环境,Linux 和 Windows,您能否具体说明您所说的操作系统?

对于 Windows,我正在考虑使用 Windows 调度程序运行“启动时”脚本。但我想看看是否有人有更好的选择。对于linux,我真的不知道要创建什么。我正在承担 CRON 工作?

部署确实指的是编码,因此在多处理作业管理器上使用 serve_forever() 会在执行时保持 python 窗口打开。有没有办法通过代码隐藏这个窗口?您是否建议改用 py2exe 之类的转换工具?

【问题讨论】:

  • 暂停?你们是怎么回事,我有一个部署问题,这与编程无关?不是每个人都知道一切,有时我们需要帮助。那应该在哪里发布呢?

标签: python linux windows deployment


【解决方案1】:

这是整个图书馆的主题,所以我在这里简单介绍一下:-) 您基本上可以直接启动脚本,然后有多个选项以它们在后台运行的方式执行此操作。

如果您有某些功能需要定期运行,您可以通过调度来实现:

  • Windows:Windows 调度程序或特定的调度工具
  • Linux:Cron

如果您的问题是您想在通过 SSH 进入 Linux 时启动脚本而不关闭它,您需要查看“screen”或“tmux”工具。

如果您想让它自动启动,这可以通过使用“启动时”来完成,正如您所指出的,Linux 具有类似的功能,但首选和更强大的方法是设置更好集成的服务与操作系统。

使用诸如 Django 之类的应用程序服务器可以获得更多功能

Tomcat(见评论)是一种选择,但绝对不是标准的;您将很难从运行 Python 的 Tomcat 人员或在 Tomcat 上运行他们的东西的 Python 人员那里找到支持。话虽如此,我想您可以启用 CGI 并让它使用您的脚本运行 Python 命令。

然而,我强烈建议您查看可能适用于您的特定用例的不同 Python 选项,而不是仅仅启动 Python 脚本。从像Flask 这样的轻量级Web 解决方案到像Twisted 这样的多功能网络引擎到像Django 这样的成熟Web 框架。

他们都提供了经过深思熟虑的部署解决方案。查看WSGI 了解更多背景信息。

【讨论】:

  • 你能多解释一下使用 Django 应用服务器吗?可以用tomcat代替(apache的应用服务器)吗?
猜你喜欢
  • 2021-02-23
  • 1970-01-01
  • 1970-01-01
  • 2021-01-12
  • 1970-01-01
  • 2015-02-18
  • 2012-01-17
  • 1970-01-01
  • 2011-03-02
相关资源
最近更新 更多