Python - 从不同项目导入 类

Python - Import Classes from different Projects

首先:抱歉 - 我知道已经存在几个与 python 导入机制有关的问题。然而,经过数小时的搜索,我仍然找不到足够的答案。

问题

我有两个独立的 Python 项目托管在我的 GitLab 服务器上。 我们称它们为 foofoo-Tester。 顾名思义,foo-Testerfoo-Project.

的自动测试器。

foo 具有以下结构:

-foo
  - __init__.py
  - fooClass.py
  -bar
     - __init__.py
     - barClass.py
  -foobar
     - __init__.py
     - foobarClass.py
   etc.

类 通过相对导入相互导入。

为了这个例子,foo-Tester 项目只包含:

- foo-Tester
   - __init__.py
   - tester.py

tester.py 仅包含:

from foo.fooClass import fooClass
myfoo = fooClass()

两个项目在文件系统上彼此相邻:

- some-folder
   - foo
   - foo-Tester

所以我的问题是:什么是最好的 approach/best-practice 将 fooClassfoo 导入 tester.py 来自 foo-Tester-Project?

我试过的

使用setup.py

一些答案(例如this建议使用setup.py。据我了解这种方法,需要安装foo-每次更改时都投射-我说得对吗? 这对我们来说不是一个好的解决方案,因为该项目正在大量开发中,每天都有很多变化。

附加到系统路径

This 回答建议将 foo 项目路径添加到系统路径中。 运行 带有 -m 标志的脚本

关于这种方法的两个问题:

我正在使用 Python 3.6。 那么,解决上述问题的最佳方法是什么?

提前致谢!

来自此处的线程:Importing modules from parent folder,这是从父(或任何其他)文件夹导入模块的方式。

import os,sys,inspect
currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
parentdir = os.path.dirname(currentdir)
sys.path.insert(0,parentdir) 

import mymodule