从 setup.py 目录导入子包或模块

import sub-packages or module from directory of setup.py

我开始制作一个包(实际上是一个可执行文件)并制作了一个小程序,其中包含目录结构中的几个文件:

my_app_proj
  |-setup.py
  |-my_app
     |-my_app.py
     |-__init__.py
     |-lib
        |-libA.py
        |-libB.py

在文件 my_prog.py 中,我有这样的内容:

from lib import libA
from lib import libB

但是当我想用 setup.py 创建我的包时,导入指令不再运行,因为它们不在 PYTHONPATH 中。 显然,因为我在 my_prog 目录的父目录中。

一个解决方案是在文件__init__.py中添加python路径中my_prog的路径,但我觉得它很糟糕。

有没有更优雅的方案?

您可以使用相对导入:

from .lib import libA