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

时间:2019-11-21 18:03:15

标签: python python-3.x packaging 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目录的父目录中。

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

有没有更优雅的解决方案?

1 个答案:

答案 0 :(得分:2)

您可以使用相对导入:

from .lib import libA