从 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
我开始制作一个包(实际上是一个可执行文件)并制作了一个小程序,其中包含目录结构中的几个文件:
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