Python跨文件夹导入模块报错:ModuleNotFoundError找不到hybrik模块
解决ModuleNotFoundError: No module named 'hybrik'的问题
你的项目结构、代码和报错情况如下:
项目结构:
my_project/ hybrik/ __init__.py models/ __init__.py builder.py scripts/ demo.py
demo.py中的代码:
from hybrik.models import builder
运行时错误:
ModuleNotFoundError: No module named 'hybrik'
即使添加了__init__.py还是报错,核心原因是Python解释器的模块搜索路径(sys.path)里没有包含my_project目录,所以找不到hybrik这个包。下面是几种可行的解决方法:
方法一:设置PYTHONPATH环境变量
把my_project的绝对路径添加到PYTHONPATH中,让Python能找到这个包:
- Linux/macOS终端临时设置:
export PYTHONPATH=/绝对路径/my_project:$PYTHONPATH - Windows CMD临时设置:
set PYTHONPATH=C:\绝对路径\my_project;%PYTHONPATH% - Windows PowerShell临时设置:
$env:PYTHONPATH = "C:\绝对路径\my_project;" + $env:PYTHONPATH
如果需要永久生效,可以修改系统的环境变量配置文件(比如Linux的~/.bashrc/~/.zshrc,Windows的系统环境变量面板)。
方法二:在demo.py中手动添加项目根路径
在demo.py的最开头加入以下代码,动态把项目根目录添加到Python的搜索路径中:
import sys from pathlib import Path # 获取my_project目录的绝对路径(demo.py在scripts下,所以往上两级是项目根) project_root = Path(__file__).parent.parent sys.path.append(str(project_root)) # 之后再正常导入 from hybrik.models import builder
方法三:用pip安装可编辑模式
进入my_project目录,执行以下命令,将hybrik包以可编辑模式安装到Python环境中:
pip install -e .
这种方式下,你对hybrik包的修改会实时生效,且在任何目录下都能直接导入该模块。
内容的提问来源于stack exchange,提问作者joy li
相关产品推荐
相关产品推荐

