1

大约 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' object has no attribute 'call'

4

1 回答 1

4

Google App Engine 上没有subprocess.call。App Engine 没有文件系统(正如@bernie 在评论中解释的那样),您不能在 Google 基础架构上运行任意代码——只能运行 Python(以及 Java 和 Go)代码。

看起来您从未打算上传您的应用程序以在 Google 平台上运行(从那时起您无法使用连接到您自己的服务器的手机),这意味着您计划在生产中使用开发服务器。这是一个非常糟糕的主意——开发服务器用于在将您的应用程序上传到 Google 平台之前对其进行测试,并且永远不应该在生产环境中使用。

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

于 2012-05-30T00:18:10.963 回答