从没有sys.path的父类的Python相对导入

时间:2018-09-20 10:11:18

标签: python python-3.x python-import

我有这样的结构:

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__()

但是我真的不喜欢每次我需要框架包中的东西时添加路径。有什么解决方法吗?

1 个答案:

答案 0 :(得分:1)

我强烈建议您将git信息库一分为二-一个用于框架的存储库,一个用于使用它的项目的存储库。然后,properly package the framework so pip can install it(无需将其发送到pipy,pip can install from git),create a virtualenv(用于“软件”项目),并将pip安装在virtualenv with the "editable" flag中。

我知道这似乎需要大量的工作,但实际上它比您可能担心的要容易得多,而且速度也要快得多,而且从经验(我是说很多项目的多年经验)来看,解决方案将减少从长远来看,头痛和问题。