2016-12-15 94 views
1

我有一个Python项目在本地工作,其中UNIX命令格式下运行,运行Python命令:蟒蛇main.py ARG1 ARG2等从.yaml文件

我想我的文件夹导出到谷歌应用程序引擎,所以我做了一个小教程,让我的应用程序运行“Hello World”。我读了app.yaml文件,但似乎无法弄清楚如何将app.yaml添加到运行我的Python命令的项目中。

编辑:

runtime: python27 
api_version: 1 
threadsafe: true 

command: ["/bin/sh", "-c"] 
args: ["python webXMLPARSER.py www.reitmans.com 2016-12-01 2016-12-08"] 
+1

标准或柔性环境? –

+0

@DanCornilescu标准环境 – Seraf

+0

更好地为GAE标准和灵活环境创建SO标签。 –

回答

2

简短的回答 - 你不能做到这一点。

现在长一个。

GAE(标准)应用程序代码不能作为独立应用程序运行。它只是一个配置文件和代码片段的集合,旨在与GAE基础代码(live或SDK)一起使用并对其进行补充,以便作为应用程序运行。

要在本地运行应用程序,必须通过SDK的开发服务器执行此操作,详情请参阅Using the Local Development Server

另外:

  • GAE应用程序是从根本上的Web服务器应用程序,他们得到的请求,并返回响应,它们实际上并不执行任意的Python CMDS。您尝试的配置无效,请参阅app.yaml Reference

  • GAE沙箱在应用程序的功能上有很大的限制,特别是不允许启动其他程序。请参阅The sandbox

1

首先,你必须指示运行shell,然后将参数传递给像蟒蛇something.py args1 args2壳。

command: bash -c "python something.py args1 args2" 

你应该尝试Dockerfiles 1,他们有运行commads的更直观的方式:

CMD ["python", "something.py", "args1", "args2"] 
+0

我收到错误:配置无效:对象类型AppInfoExternal的意外属性“命令”。 – Seraf

+0

编辑:你有一个简单的.yaml例子,我对.yaml文件很新。 – Seraf

+0

你有你的.yaml?你能更新这个问题吗?编辑答案,你可以试试吗? –