2015-11-02 3 views
3

Скажем, моя структура проекта выглядит следующим образом:питон путь во время разработки пакета

app/ 
    main.py 
    modules/ 
     __init__.py 
     validation.py 
     configuration.py 

модули пакет содержит повторно используемый код. main.py выполняет основную логику приложения.

Когда я пытаюсь это в main.py

from modules import validation 

я получаю ошибку, которая говорит, что импорт внутри проверки не удалось. Проверка пытается импортировать конфигурацию, и я получаю «no module named configuration»

Я использую дистрибутив Anaconda на окнах.

Каков наилучший способ обращения с PYTHONPATH во время разработки пакета?

Есть ли способ использовать virtualenv (или Конда окр) для того, чтобы получить пакет, который находится в стадии разработки, на PYTHONPATH без изменения sys.path из кода?

Какова предпочтительная практика при разработке пакета?

Я также пытался добавить пакет модулей (папок) в lib/site-packages, но он все еще не работал.

+0

что ваш модуль/__ init__.py – Like

+0

Что вы делаете, должны работать , Ваш '__init __. Py' пуст? Предполагая, что это так, возможно, есть проблема с вашим оператором импорта внутри 'validation.py'? –

+0

my __init__.py пуст, и проверка импортирует конфигурацию с ** конфигурацией импорта **, а затем использует ее как ** configuration.app_config() ** .... my main.py импортирует проверку с ** из импорта модулей валидация ** –

ответ

1

Изменение импорта в validation.py на:

from . import configuration 

Это необходимо для Python 3, но также работает с Python 2.

+0

Спасибо, я проверю его, когда вернусь домой. –

+0

Это сделало это, спасибо вам большое. –

Смежные вопросы