Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 8, 2012 12:11:23

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Импорт модуля из другой папки

Структура такая:

project1\
dir_a\
a.py
package_b\
__init__.py
b.py
project2\
c.py

b.py:
sys.path.append("..\project2")
import c

Все хорошо, пока я запускаю программу в каталоге project1, которая импортирует b, но когда пишу:
a.py
import package_b.b
и запускаю его как программу, он не может импортировать c.

Как разрулить ситуацию? В яве можно элементарно подключать другие проекты.

Отредактировано odnochlen (Сен. 8, 2012 12:12:25)

Офлайн

#2 Сен. 10, 2012 18:24:50

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Импорт модуля из другой папки

Если запускать a.py, то c.py будет ещё на уровень ниже, нужно что-то типа

sys.path.append("../../project2")

как вариант можно что-б скрипт из своего пути __file__ определял “корень” проекта, переходил туда, и добавлял текущий путь в sys.path, хотя можно не переходить, главное определиться с корнем.

ещё вариант, в корне сделать скрипт start.py который будет из параметров sys.argv брать модуль, подключать его и запускать.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version