Python中从constants文件导入时出现ModuleNotFoundError问题
解决Python模块导入错误:找不到constants模块
问题场景
你的项目目录结构如下:
app-main-folder /local /__init__.py /run.py constants.py
运行local/run.py时触发错误:
Traceback (most recent call last): File "local/run.py", line 4, in <module> from init import app File "/home/manavarthivenkat/ANUESERVICES--BACKEND/local/__init__.py", line 5, in <module> from constants import BaseConstants ModuleNotFoundError: No module named 'constants'
解决方法
方法1:使用相对导入
在local/__init__.py里修改导入语句,用相对路径指向上级目录的constants.py:
from ..constants import BaseConstants
注意:这种方式要求将app-main-folder作为包运行,不能直接执行local/run.py,需在项目根目录(app-main-folder)执行:
python -m local.run
方法2:手动添加项目根目录到Python路径
在local/__init__.py开头加入以下代码,把项目根目录加入Python的模块搜索路径:
import sys import os # 获取local目录的上级目录(即项目根目录) root_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(root_dir) # 之后正常导入 from constants import BaseConstants
这种方式允许直接运行local/run.py,无需切换目录。
方法3:通过环境变量设置Python路径
运行脚本前,把项目根目录添加到PYTHONPATH环境变量:
Linux/macOS终端:
cd app-main-folder export PYTHONPATH=$(pwd) python local/run.py
Windows命令提示符:
cd app-main-folder set PYTHONPATH=%cd% python local\run.py
内容的提问来源于stack exchange,提问作者Venkat Manavarthi
相关产品推荐
相关产品推荐

