Google App Engine - импорт моих собственных исходных модулей (несколько файлов) - PullRequest
3 голосов
/ 13 января 2009

Я пишу приложение GAE и испытываю некоторые трудности со следующей проблемой.

Я создал несколько файлов Python (скажем, a.py и b.py), которые хранятся в одной папке. Я могу вызывать код в a.py или b.py, сопоставляя им URL-адреса (используя app.yaml). То, что я не понял, как это сделать, это импортировать код из одного в другой.

Может кто-нибудь помочь мне с синтаксисом и / или любой конфигурацией, которая требуется здесь? Например, у меня сложилось впечатление, что я могу включить код из b.py в файл a.py, выполнив следующую инструкцию в a.py

import b

У меня нет успеха с таким подходом. В частности, я получаю эту ошибку:

ImportError: No module named b

Есть предложения?

Спасибо,

Мэтт

Ответы [ 4 ]

8 голосов
/ 13 января 2009

Вы пробовали импортировать, как если бы вы начинали с верхнего уровня? Нравится

import modules.b
2 голосов
/ 13 января 2009

Если файлы a.py и b.py не расположены, обязательно укажите соответствующие пути в sys.path.

import sys
sys.path.append(r"/parent/of/module/b")
1 голос
/ 28 декабря 2010

, как сказал @toby, он должен быть импортирован так, как если бы он импортировался из верхнего каталога, а файл с именем init .py должен быть помещен в папку.

1 голос
/ 13 января 2009

Обратите внимание, что обычный шаблон с GAE состоит не в том, чтобы каждый независимо отображался в app.yaml, а в том, чтобы иметь один скрипт-обработчик, который имеет все (или все, кроме статических и специальных) URL-адресов, и пусть этот скрипт импортирует и a и b, и использует определяемые ими обработчики.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...