Согласно документации , среда выполнения Python 2.7 GAE больше не ограничивает доступ к байт-коду:
Среда выполнения Python 2.7 больше не ограничивает доступ к байт-коду Python.Библиотеки, которые генерируют или манипулируют байт-кодом (например, библиотека шаблонов jinja2
), могут делать это в этой среде выполнения.
Вы можете загружать и использовать .pyc
, но не в сочетании с .py
файлами.Вы можете загружать zip-файлы, содержащие .py
или .pyc
файлы (или их комбинации).
Как мне воспользоваться этим?
Часть моего app.yaml
*Директива 1019 * имеет следующую строку:
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
файл?Существуют ли какие-либо специальные конфигурации файлового дерева?