sys.path含目标路径仍报ModuleNotFoundError: No module named 'src.utils'
求助:ModuleNotFoundError: No module named 'src.utils'
项目结构
my-project src __init__.py main.py utils __init__.py configs modules __init__.py other_module.py
main.py 代码
from pathlib import Path import sys, os print("cwd: {}".format(os.getcwd())) # 将目录添加到sys.path sys.path.append(os.getcwd()) # 打印检查是否生效 for p in sys.path: print(p) from src.utils.configs import read_config if __name__=='__main__': # 执行逻辑 pass
报错信息
运行时持续报错:ModuleNotFoundError: No module named 'src.utils'
详细输出:
import 'pathlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001CC4C31B370> cwd: C:\Users\UserName\LOCAL\my-project C:\Users\UserName\LOCAL\my-project\src C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2032.0_x64__qbz5n2kfra8p0\python310.zip C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2032.0_x64__qbz5n2kfra8p0\DLLs C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2032.0_x64__qbz5n2kfra8p0\lib C:\Users\UserName\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0 C:\Users\UserName\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2032.0_x64__qbz5n2kfra8p0 C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2032.0_x64__qbz5n2kfra8p0\lib\site-packages C:\Users\UserName\LOCAL\my-project # C:\Users\UserName\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\src\__pycache__\__init__.cpython-310.pyc matches C:\Users\UserName\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\src\__init__.py # code object from 'C:\\Users\\UserName\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\src\\__pycache__\\__init__.cpython-310.pyc' import 'src' # <_frozen_importlib_external.SourceFileLoader object at 0x000001CC4C147D60> Traceback (most recent call last): File "C:\Users\UserName\LOCAL\my-project\src\nats_minimal_listener.py", line 7, in <module> from src.utils.configs import read_config File "<frozen importlib._bootstrap>", line 1027, in _find_and_load File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed File "<frozen importlib._bootstrap>", line 1027, in _find_and_load File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked ModuleNotFoundError: No module named 'src.utils'
补充说明
- 已查阅大量相关解答,但均无效,请不要直接判定为重复问题。
- 请勿建议使用
from utils.configs import read_configs,这只能解决main.py的导入问题,我需要在其他文件(比如other_module.py)中也能导入src.utils.configs。 - 重构目录结构不现实:如果要让所有子模块都能导入configs,就得在每个子模块下都创建utils/configs子目录,会造成重复结构,如下:
my-project src __init__.py main.py utils __init__.py configs module1 __init__.py other_module.py utils __init__.py configs module2 __init__.py other_module.py utils __init__.py configs
内容的提问来源于stack exchange,提问作者VErYSEYmPhY
相关产品推荐
相关产品推荐

