需要解决方法在AppFog上创建一个python独立应用程序

时间:2012-10-30 19:18:41

标签: python appfog

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

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 app做到这一点?

2 个答案:

答案 0 :(得分:2)

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

以上是我如何解决Ruby应用程序中的限制:)

答案 1 :(得分:0)

<强>更新

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

它主要涉及将脚本打包为可执行文件,然后创建启动器python脚本以调用生成的二进制文件/可执行文件。

您可以在我的blog

中详细了解详情

我也有同样的问题。我不想在Web应用程序上工作以调用我的脚本,但这似乎是最好的方法。

我设法使用Flask并创建了一个可以调用我的后台工作者脚本的路径。我没有使用APScheduler,只是好老os.system()而且看起来足够稳定。

我在blog上详细介绍了它。