У меня есть эта структура:
Git
|
|-->Framework
| |
| '---> framework.py
|
'-->Software hanging on framewok
|
'---> main.py // here i need inherit class from framework.py module.
До сих пор я использую следующую процедуру, которую я нашел во многих других ответах на этом форуме:
import sys
sys.path.append("../Framework")
from framework import Framework
class Main(Framework):
def __init__(self):
super().__init__()
Но я действительно не люблю добавлять пути каждый раз, когда мне нужно что-то из пакета framework. Есть ли способ обхода?
Я настоятельно рекомендую вам разделить репозиторий git на два - один репо для фреймворка, один для проекта, использующего его. Затем правильно упакуйте фреймворк, чтобы pip мог его установить (нет необходимости отправлять его в pipy, pip может установить из git), создать virtualenv для проекта "software", а pip установить фреймворк в virtualenv с помощью "редактируемого" флага,
Я понимаю, что это может показаться большой работой, но на самом деле это намного проще и быстрее, чем вы могли бы опасаться, и из опыта (я имею в виду многолетний опыт работы над множеством проектов) это решение, которое вызовет меньше головных болей и проблем в долгосрочной перспективе.
sys.path
sys.path, чтобы я мог понизить его?