You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同一文件夹导入模块报错:ModuleNotFoundError: No module named 'credentials'

解决Python模块导入错误:ModuleNotFoundError: No module named 'credentials'

嘿,我来帮你搞定这个导入问题!你遇到的问题主要是因为错误地把配置文件的路径加到了Python的搜索路径里,而不是包含credentials.py的目录,另外还有几个小细节需要调整,我一步步给你说:

首先纠正你的sys.path添加错误

你之前写的路径指向了credentials.ini这个配置文件,但Python找模块的时候需要的是包含.py文件的目录,所以这一步完全错啦。我们换成正确的方式:

方法1:动态获取当前脚本所在目录(最稳妥)

在login.py里用这段代码,它会自动获取当前login.py所在的目录并添加到搜索路径,不管你的文件放在哪里都能用:

import sys
import os
# 获取当前login.py文件的绝对路径所在的目录
current_script_dir = os.path.dirname(os.path.abspath(__file__))
# 将这个目录添加到Python的模块搜索路径最前面
sys.path.insert(0, current_script_dir)
# 现在就能正常导入了
import credentials

方法2:直接使用相对导入(适合作为插件/模块的场景)

如果你的login目录是作为一个Python模块来使用的(比如QGIS插件的结构),可以直接用相对导入,不需要改sys.path:

# 在login.py里这样写
from . import credentials

注意:如果直接双击运行login.py,这种相对导入可能会报错,但在QGIS插件的运行环境里应该是没问题的,因为QGIS会把插件目录识别为模块。

额外需要检查的点

  • 确认目录结构:确保你的文件结构确实是这样的,别放错位置了:
    login/
    ├── login.py
    └── credentials.py
    
  • 避免命名冲突:检查你的Python环境里有没有其他同名的credentials.py或者名为credentials的文件夹,不然Python可能会导入错的文件。
  • 检查文件扩展名:确认你的文件确实是.py后缀,不是.txt或者其他被隐藏的扩展名(Windows系统容易出现这个问题)。

内容的提问来源于stack exchange,提问作者Carmel Han

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:13:27