python绝对路径导入问题

python绝对路径导入问题

背景

当某个功能是一个包A时使用from cls_pb2 import LogGroupList没有问题,这个包A在整个项目中运行的话这样是不行的SystemError: Parent module '' not loaded, cannot perform relative import,除非使用相对路径from .cls_pb2 import LogGroupList

需求

在不改动导入方式的情况下,也使整个项目使用,即from cls_pb2 import LogGroupList

解决

import os
import sys
PACKAGE_PARENT = '.'
SCRIPT_DIR = os.path.dirname(os.path.realpath(os.path.join(os.getcwd(), os.path.expanduser(__file__))))
sys.path.append(os.path.normpath(os.path.join(SCRIPT_DIR, PACKAGE_PARENT)))

from cls_pb2 import LogGroupList

本文作者:朝圣

本文链接:www.zh-noone.cn/2021/3/python绝对路径导入问题

版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0许可协议。转载请注明出处!

python多进程线程用法
0 条评论