如何将Python 3与Google App Engine的本地开发服务器一起使用

时间:2017-09-26 17:32:25

标签: python python-3.x google-app-engine google-app-engine-python

我已经使用

配置了本地Python应用程序
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <html>
      <head>
      </head>
      <body>
        <div class="container">
          <table border="1">
            <tr>
              <td colspan="2">
                Person
                <br />
                <xsl:value-of select="WI/Wi/lat_nam" />
              </td>
            </tr>
            <tr>
              <td>
                <input id="student_flag" name="student_flag" type="checkbox"
                  value="1">
                  <xsl:choose>
                    <xsl:when test="WI/Wi/descr[contains(text(),Student]">
                      <xsl:attribute name="value">1</xsl:attribute>
                      <xsl:attribute name="checked">true</xsl:attribute>
                      <xsl:value-of select="'Student'" />
                    </xsl:when>
                    <xsl:otherwise>
                      <xsl:attribute name="value">0</xsl:attribute>
                      <xsl:value-of select="'Student'" />
                    </xsl:otherwise>
                  </xsl:choose>
                </input>
              </td>
              <td>
                <input id="Faculty_flag" name="Faculty_flag" type="checkbox"
                  value="1">
                  <xsl:choose>
                    <xsl:when test="WI/Wi/descr[contains(text(),Faculty]">
                      <xsl:attribute name="value">1</xsl:attribute>
                      <xsl:attribute name="checked">true</xsl:attribute>
                      <xsl:value-of select="'Faculty'" />
                    </xsl:when>
                    <xsl:otherwise>
                      <xsl:attribute name="value">0</xsl:attribute>
                      <xsl:value-of select="'Faculty'" />
                    </xsl:otherwise>
                  </xsl:choose>
                </input>
              </td>
            </tr>
          </table>
        </div>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

在其runtime: python 文件中。使用

启动本地开发服务器时
app.yaml
一切都很好。

由于GAE的本地开发服务器默认使用Python2.7,我现在想要使用Python3.x。根据Google的文档,我们必须使用flexible environment。因此,我将dev_appserver.py app.yaml 更改为:

app.yaml

现在runtime: python env: flex runtime_config: python_version: 3 吐出:

dev_appserver.py app.yaml

问题可以通过使用灵活环境的Google's Hello World application重现。

所以在本地我们不能使用Python3?然后我们怎样才能在上传之前在本地运行我的Python3代码?

1 个答案:

答案 0 :(得分:7)

Using the Local Development Server仅适用于第一代标准环境应用。

要运行本地灵活的环视应用,请参阅Running locally

  

使用本机开发工具在本地运行应用程序   你经常使用的。

     

例如,您通常可以使用Flask运行Flask应用程序   开发服务器使用:

python main.py
     

可以使用以下命令启动Django应用程序:

python manage.py runserver

相关:How to tell if a Google App Engine documentation page applies to the standard or the flexible environment

<强>更新

对第二代标准环境的支持有限,请参阅Python 3.7 Local Development Server Options for new app engine apps