Как только ваш код будет развернут, он получит доступ ко всем поддерживаемым библиотекам без каких-либо действий.Чтобы добавить каталоги, относящиеся к приложению, к пути, вам нужно сделать это программно внутри вашего обработчика.Я использую такой шаблон:
paths = [
os.path.join(os.path.dirname(__file__), 'mylib'),
os.path.join(os.path.dirname(__file__), 'app', 'tags'),
os.path.join(os.path.dirname(__file__), 'app', 'controllers'),
os.path.join(os.path.dirname(__file__), 'app', 'common'),
os.path.join(os.path.dirname(__file__), 'app', 'models'),
os.path.join(os.path.dirname(__file__), 'app')
]
for path in paths:
if os.path.exists(path):
# Don't add paths that don't exist.
sys.path.append(path)
Если вы обнаружите, что у вас возникла проблема с импортом модуля, который не является частью вашего приложения, возможно, этот модуль не поддерживается в AppEngine.См. документы для получения дополнительной информации.
РЕДАКТИРОВАТЬ: Каждый структурирует свои приложения AppEngine немного по-разному, но, как правило, вам нужно иметь этот код в главной точке входа для каждого .pyфайл, который указан как обработчик в вашем app.yaml.Как правило, файл обработчика будет выглядеть примерно так:
def main():
# Do all of my initialization and run my
# WSGIApplication
if __name__ == "__main__":
main()
Вы можете указать код установки пути внутри функции main ().