Python中遇到cannot import XXX错误如何解决?
导入自己写的模块的时候,发生不能导入的情况, 像这样: from send_email import SendMail ImportError: cannot import name 'SendMail'
用 pycharm 是可以点进去的, 请教排查思路
Python中遇到cannot import XXX错误如何解决?
9 回复
请列出目录结构,PATHONPATH 然后再说
这个错误通常是因为Python找不到你要导入的模块。我一般按这个顺序排查:
1. 检查模块是否安装
# 在终端执行
pip list | grep XXX
# 或者
python -c "import XXX; print(XXX.__file__)"
2. 检查PYTHONPATH
import sys
print(sys.path) # 查看Python搜索路径
3. 检查文件命名冲突
# 确保你的脚本文件名不是XXX.py
# 比如要导入requests,你的文件不能叫requests.py
4. 相对导入问题
# 如果是在包内导入,确保有__init__.py文件
# 使用绝对导入
from package import module
5. 虚拟环境问题
# 确认你在正确的虚拟环境中
which python
pip show XXX
我遇到这问题时,90%的情况是模块没装或者路径不对。先跑pip install XXX试试,不行就检查sys.path里有没有你的模块路径。
一句话建议:先确认模块已安装且Python能找到它。
执行文件和 send_email.py 文件是同一级, 我尝试 from src.libs.send_email import SendMail 也不行。
export PYTHONPATH=xxx
循环引用了
把文件结构列一下看看,另外是不是试试 from .send_email import SendMail
如果是在同级目录的话.
首先尝试相对引用
from .send_email import SendMail
不行的话在每个目录加上__init__.py 文件再试
如果还不行那就试试
sys.path.append(“.”)
如果还不行我怀疑你安了假 python


