根据documentation,Python 2.7 GAE运行时不再限制对字节码的访问:
Python 2.7运行时不再限制对Python字节码的访问。生成或操作字节码的库(例如
jinja2
模板库)可以在此运行时执行此操作。您可以上传和使用
.pyc
,但不能与.py
文件结合使用。您可以上传包含.py
或.pyc
个文件(或组合)的zip文件。
我如何理解这一点?
我的app.yaml
skip-files
指令的一部分有这一行:
skip_files:
- ^(.*/)?.*\.py[o]
- ^(.*/)?.*\.py
然后我将我的应用程序上传到Google App Engine。当我测试它时,我得到一个ImportError(在日志中):
Traceback (most recent call last):
File "/base/python27_runtime/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 187, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/base/python27_runtime/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 225, in _LoadHandler
handler = __import__(path[0])
ImportError: No module named main
我正在使用threadsafe: true
选项,所以我的主处理程序如下所示:
handlers:
- url: /.*
script: main.app
为什么Google App Engine无法检测到我的main.pyc
文件?是否有任何必要的特殊文件树配置?