Относительный импорт Python из родительского без sys.path - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть такая структура:

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.Есть ли обходной путь?

1 Ответ

0 голосов
/ 20 сентября 2018

Я настоятельно рекомендую вам разбить ваш git-репозиторий на два - одно хранилище для платформы, другое для проекта, использующего его.Затем правильно упакует фреймворк, чтобы pip мог установить его (не нужно отправлять его в pipy, pip можно установить из git ), создайте virtualenv для "программного обеспечения ", и pip установите фреймворк в virtualenv с флагом" editable ".

Я понимаю, что это может показаться большой работой, но на самом деле это намного проще и быстрееДелайте больше, чем вы могли бы опасаться, и из своего опыта (я имею в виду многолетний опыт работы во многих проектах) это решение, которое вызовет меньше головных болей и проблем в долгосрочной перспективе.

...