【问题标题】:Debug "ImportError: attempted relative import with no known parent package"调试“ImportError:尝试使用没有已知父包的相对导入”
【发布时间】:2020-01-16 19:03:29
【问题描述】:

我有以下目录结构

Test/
    __init__.py
    __main__.py
    Package_1/
        __init__.py
        module_1.py
        module_2.py
    Package_2/
        __init__.py
        module_3.py
        module_4.py
        Subpackage/
            __init__.py
            module_3.py

init.py 文件为空

module_1.py

from .module_2 import function_1
function_1()


module_2.py

def function_1():
print('function_1')


module_5.py 

def function_2():
print('function_2')


main.py

from .Package_1.module_1 import *
function_1.py

我得到以下输出-

(base) C:\Users\Neilabh\Desktop\PS4-OP\STADS\Image Generation\Test>python -m main.py

Traceback (most recent call last):
  File "C:\Users\Neilabh\Miniconda3\lib\runpy.py", line 183, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "C:\Users\Neilabh\Miniconda3\lib\runpy.py", line 109, in _get_module_details
    __import__(pkg_name)
  File "C:\Users\Neilabh\Desktop\PS4-OP\STADS\Image Generation\Test\main.py", line 1, in <module>
    from .Package_1.module_1 import *
ImportError: attempted relative import with no known parent package

我尝试了各种排列来从主文件中的导入中导入文件。 我一直无法做到正确。欢迎任何有关调试的帮助。 如果有其他方法可以做到这一点,那将是非常受欢迎的。

谢谢。

【问题讨论】:

  • 这能回答你的问题吗? How to do relative imports in Python?
  • @napuzba,我已经看到了那个链接,对我来说并没有太大帮助。谢谢。
  • @RPMR,我已经尝试过了,但它并没有按照我想要的方式工作以供我使用。谢谢。

标签: python import importerror


【解决方案1】:

代替

C:\Users\Neilabh\Desktop\PS4-OP\STADS\Image Generation\Test>python -m main.py

试试这个:

C:\Users\Neilabh\Desktop\PS4-OP\STADS\Image Generation\>python -m Test.main

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-18
    • 2020-06-07
    • 2020-06-20
    • 1970-01-01
    • 2021-07-01
    • 2021-10-27
    相关资源
    最近更新 更多