NoseGAE не может импортировать .py файлы в корень приложения - PullRequest
1 голос
/ 07 марта 2012

В настоящее время я пытаюсь запустить автоматическую настройку PyDev / nosetests / GAE в Eclipse, проверяя с помощью командной строки. Пока что у меня есть что-то похожее на следующее:

Настройки -> PyDev -> PyUnit

Nose Test Runner
Parameters: --with-gae -w "/My/App/Root" --without-sandbox -P

Структура каталогов (обычные данные GAE опущены)

./src/
   *module hierarchy*
./tests/
   __init__.py
   sometests.py
./main.py
./urls.py

В тот момент, когда я использую те же параметры в командной строке в корне приложения, модули Python в src /, которые импортируют 'main' или 'urls', вызывают:

ERROR: Failure: ImportError (No module named main)

Примечание. Эта проблема аналогична другому посту SO, связанному с носом . Решение в данном случае неприменимо, поскольку в моем корне приложения нет __init__.py.

1 Ответ

1 голос
/ 07 марта 2012

Чтобы это работало, вам нужно иметь структуру с двумя записями pythonpath, одна из которых добавляет 'src', а другая добавляет корень вашего проекта ...

, то есть: скажем, у вас есть:

/ project <- добавить это в PYTHONPATH (т.е. установить как исходную папку в PyDev) </p>

/ project / src <- также добавить это в PYTHONPATH (также установить в качестве исходной папки в PyDev)</p>

/ project / main.py <- теперь должен быть найден, поскольку его родительская папка находится в PYTHONPATH:) </p>

Тем не менее, я должен сказать, что нахожу эту структуру немного неловкой ... вВ этом случае я бы, вероятно, удалил папку 'src' и просто оставил '/ project' в PYTHONPATH (и переместил бы содержимое 'src' в корень проекта)

Или переместил бы 'main.py ',' urls.py 'и' tests 'в папку' src '...

...