2016-12-15 47 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?你能更新這個問題嗎?編輯答案,你可以試試嗎? –