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

问题描述 投票:1回答:1

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

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的路径,但我发现它很烂。

还有更优雅的解决方案吗?

python python-3.x packaging setup.py
1个回答
1
投票

您可以使用相对导入:

from .lib import libA
© www.soinside.com 2019 - 2024. All rights reserved.