2

在 appFog 网站上阅读了我可以使用 APScheduler 制作 python 后台工作程序后,我试了一下。我尝试使用包含以下行的requirements.txt文件(使用创建)推送一个简单的 python 独立应用程序:pip freeze

APScheduler==2.0.3
MySQL-python==1.2.4b5

但是当将其推送到 appFog 时,出现以下错误:

====> /logs/stderr.log <====
Traceback (most recent call last):
  File "testConnectionDB.py", line 3, in <module>
    from apscheduler.scheduler import Scheduler
ImportError: No module named apscheduler.scheduler

所以我猜该requirements.txt文件没有被读取。appFog 支持证实了它确实还不支持独立应用程序,即 python 独立应用程序无法在 appfog 上导入库,因此它们的使用非常有限。

所以我想知道是否有人已经有这种经验,是否有人找到了解决方法。我宁愿不要在 ruby​​ 中这样做或切换到另一个平台。有没有办法使用常规的 python 或 django-python 应用程序来做到这一点?

4

2 回答 2

2

您是否尝试过在非独立应用程序中启动它(例如添加像 CherryPy 这样的 Web 界面)。这应该允许您编译 requirements.txt 并让您摆脱独立应用程序的问题。

以上是我如何绕过Ruby应用程序的限制:)

于 2012-11-19T16:48:14.073 回答
0

更新:

我实际上能够解决这个问题,而无需解决从网络应用程序调用我的脚本。我认为这是一个更好且真正独立的解决方法。

它基本上涉及将您的脚本打包为可执行文件,然后创建一个启动器 python 脚本来调用生成的二进制/可执行文件。

您可以在我的博客上详细了解它。


我也有同样的问题。我不想通过网络应用程序来调用我的脚本,但这似乎是最好的方法。

我设法用 Flask 做到了,并创建了一条调用我的后台工作脚本的路由。我没有使用 APScheduler,只是很旧os.system(),而且看起来足够稳定。

我在博客上详细写过。

于 2013-01-28T02:53:43.263 回答