在谷歌应用引擎上调用终端脚本

时间:2012-05-29 17:04:17

标签: python google-app-engine

现在大约5个小时我一直在尝试在我的本地网络上部署网站,我正在使用谷歌应用引擎,并将在本地运行。我试图做的是在用户点击我页面上的“提交”按钮后调用终端脚本。

脚本将在我的服务器()上运行,嗯,脚本运行正常,但每次我尝试调用它时,Google应用引擎都会出错...

我正在使用ubuntu 12.04,Python在GAE中进行编程....并且错误发生在这一行......

subprocess.call(['sendSMS.sh %s %s' % (s1,s2)])

错误说:

  

subprocess.call(['sendSMS.sh%s%s'%(s1,s2)])AttributeError:   'module'对象没有属性'call'

1 个答案:

答案 0 :(得分:4)

Google App Engine上没有subprocess.call。 App Engine没有文件系统(如评论中所述@bernie),您无法在Google基础架构上运行任意代码 - 只有Python(和Java和Go)代码。

看起来您从未打算上传您的应用以在Google平台上运行(此后您无法使用已连接到自己服务器的手机),这意味着您计划使用开发服务器在生产中。这是一个非常糟糕的主意 - 开发服务器用于在将应用上传到Google平台之前测试您的应用,并且绝不应该用于生产。

由于您拥有自己的服务器,因此您应该运行生产Web服务器,例如Apache。如果您已使用webapp2(根据App Engine教程的建议),您仍然可以使用现有代码。只需使用Apache的mod_wsgi,然后在您的服务器上部署Apache中的webapp2应用程序。