我有一个名为extended.py
的模块,它包含以下行:
from .basic import BasicModule
文件basic.py
与__init__.py
位于同一目录中。但是,当我试图运行它时:
python extended.py
我知道错误:
ValueError: Attempted relative import in non-package
同时添加行:
from __future__ import absolute_import
不能解决问题。
也许我太累了,看不到显而易见的东西,但我看不到问题在这里。
Tags:
相对导入只适用于包,但是当您在
extended.py
中导入时,您将运行一个顶级模块。当前目录可能包含一个
__init__.py
文件,但这还不能使exended.py
成为包的一部分。要将某些内容视为包,您需要导入目录名。以下方法可行:
然后在
main.py
中输入:而且只有然后才是包的
extended
部分,并执行相关的导入工作。相对导入现在有一些东西是相对的到,即
packagename
父对象。相关问题 更多 >
编程相关推荐