Python 相对导入从父级导入,无需 sys.path



我有这个结构:

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

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

我强烈建议您将 git 存储库一分为二 - 一个存储库用于框架,一个存储库用于使用它的项目。然后正确打包框架,以便 pip 可以安装它(无需将其发送给 pipy,pip 可以从 git 安装(,为"软件"项目创建一个 virtualenv,pip 使用"可编辑"标志在 virtualenv 中安装框架。

我知道这似乎需要很多工作,但实际上比你担心的要容易得多,速度也快得多,而且根据经验(我的意思是多年在许多项目上的经验(,从长远来看,它是导致更少头痛和问题的解决方案。

相关内容

最新更新