ModuleNotFoundError -> 导入的模块无法导入另一个模块
ModuleNotFoundError -> Imported module cannot import another module
工作目录的形状如下:
* main_script.py
/ module_to_import
* __init__.py
* script_1.py
* script_2.py
在main_script.py中我们有
from module_to_import import script_1
script_1.call_something()
在script_1.py中我们有
import script_2
def call_something():
something = script_2.get_something()
something = something + 1
return something
当 main_script.py 为 运行
这个returns一个
ModuleNotFoundError: No Module named 'script_2'
我知道这可以通过直接将 script_2 导入 main_script 来临时解决。
有没有办法解决这个问题,即使 main_script 本身没有导入 script_2,script_1 也可以可靠地导入 script_2?
当您的包结构为子包时,在 script_1.py 中您可以使用绝对导入
import module_to_import.script_2 as script_2
或相关的:
from . import script_2
您可以在此处找到有关它的文档:
https://docs.python.org/3/tutorial/modules.html#intra-package-references
工作目录的形状如下:
* main_script.py
/ module_to_import
* __init__.py
* script_1.py
* script_2.py
在main_script.py中我们有
from module_to_import import script_1
script_1.call_something()
在script_1.py中我们有
import script_2
def call_something():
something = script_2.get_something()
something = something + 1
return something
当 main_script.py 为 运行 这个returns一个
ModuleNotFoundError: No Module named 'script_2'
我知道这可以通过直接将 script_2 导入 main_script 来临时解决。
有没有办法解决这个问题,即使 main_script 本身没有导入 script_2,script_1 也可以可靠地导入 script_2?
当您的包结构为子包时,在 script_1.py 中您可以使用绝对导入
import module_to_import.script_2 as script_2
或相关的:
from . import script_2
您可以在此处找到有关它的文档: https://docs.python.org/3/tutorial/modules.html#intra-package-references