【问题标题】:Python Relative import not workingPython相对导入不起作用
【发布时间】:2018-07-10 04:54:52
【问题描述】:
main_package
 |
 | __init__.py
 | folder_1
 |  | __init__.py
 |  |script_a.py
 |  |
 | folder_2
 |  | __init__.py
 |  | script_b.py

我想从 script_a 访问 script_b 并通过相对导入导入 b_class

script_a.py:

from ..folder2.script_b import b_class

给我错误 => ValueError: 尝试相对导入超出顶级包

http://dosya.co/y6aqrgp993fu/main_package.rar.html

【问题讨论】:

    标签: python import


    【解决方案1】:

    试试,因为它是包

    from main_package.folder_2.script_b import b_class
    

    from .main_package.folder_2.script_b import b_class
    

    OR(可能是补丁)

    import sys
    sys.path.append(pathofyourproject) // `/home/prject`
    import folder_2.script_b.py
    

    【讨论】:

    • ModuleNotFoundError: No module named 'folder_2'
    • ModuleNotFoundError: No module named 'main_package'
    • init.py 添加到 main_package 文件夹中
    • 我上传的目录你可以下载
    • 最后一个: import sys sys.path.append(r"C:\Users\lenovo\Desktop\main_package") import folder_2.script_b.py 给我 ModuleNotFoundError: No module named 'folder_2.脚本_b.py'; 'folder_2.script_b' 不是包
    猜你喜欢
    • 2014-10-31
    • 2018-01-08
    • 2022-06-15
    • 2015-04-30
    • 1970-01-01
    • 2018-01-24
    • 2013-05-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多