从python包导入模块

2024-05-08 12:12:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下结构的包

Main_file 
     __init__.py
     main.py
     sub_folder
          __init.py
          a.py
          b.py

b、 py包含

def print_value():
    print("hello")

a、 py包含

import b
b.print_value()

在main.py中

from sub_folder import a

当我运行main.py时,出现以下错误

No module named 'b'

Tags: nofrompyimporthelloinitvaluemain
2条回答

您还可以通过以下方式将sub_folder包含到系统路径中

import sys
sys.path.append(<path to sub_folder>)

注意:正如在下面的评论中所观察到的,这可能会由于双重负载而产生问题。这适用于脚本,并且不是编写包时使用的正确方法

由于sub_folder不在PYTHONPATH中,因此需要使用来自a.pyrelative import

from . import b
b.print_value()

相关问题 更多 >