答案是先检查sys.path和解释器配置:pycharm默认添加项目根目录到sys.path,而命令行仅认当前工作目录和pythonpath;需确认运行时解释器是否与pip安装环境一致,并验证包是否实际存在于对应site-packages中。

PyCharm运行代码报ModuleNotFoundError,绝大多数情况不是代码写错了,而是解释器环境或模块路径没对上——先别急着重装包,盯住sys.path和解释器配置这两处。
PyCharm里能跑,命令行报错:自定义模块找不到
这是最典型的路径错位。PyCharm默认把项目根目录加进sys.path(只要你设了Sources Root),但命令行只认当前工作目录和PYTHONPATH。
- 在脚本开头加这行,快速验证:
import sys; print(sys.path),对比PyCharm输出和命令行输出的差异 - 不要硬写绝对路径,用
os.path.dirname(os.path.dirname(os.path.abspath(__file__)))动态算出项目根目录再sys.path.append() - 如果项目结构含多层嵌套(比如
src/xxx/test.py),os.path.dirname(__file__) + '/../..'比连写多个os.path.dirname更简洁 - 临时方案:命令行执行前先
export PYTHONPATH=$PYTHONPATH:/your/project/root,但注意这仅对当前终端生效
PyCharm控制台pip install成功,但运行时仍报错
控制台和运行配置用了不同解释器——比如你在系统Python里装了包,但项目绑的是虚拟环境解释器。
PyCharm 2026.2是 JetBrains PyCharm 的指定版本安装包,下载地址指向官方 Windows 安装包直链,可用于旧项目兼容、版本回退和环境测试。
- 点右下角
Python Interpreter,确认列表里有没有你要的包;没有就点+搜着装,别在Terminal里敲pip install - 检查Terminal左上角是否显示“Python 3.x (venv)”之类标识,没显示说明Terminal没激活虚拟环境,得先
source venv/bin/activate(Linux/macOS)或venv\Scripts\activate(Windows) - 装完包后点PyCharm右上角
File → Reload project from disk,或者File → Invalidate Caches and Restart,否则缓存可能不更新
连json、os这种内置模块都报错
这不是缺包,是解释器本身坏了或被污染了。
- 在PyCharm Terminal里执行:
python -c "import json; print(json.__file__)",如果报错或路径指向奇怪位置(比如项目目录里),立刻检查有没有叫json.py的文件冲突 - 检查
File → Settings → Project → Python Interpreter,看解释器路径是否指向一个残缺的Python安装(比如精简版、conda损坏环境) - 别信网上“pip install json”的方案——
json是内置模块,pip根本装不了,强行装会报ERROR: Could not find a version that satisfies the requirement json
真正卡住的地方往往不是“怎么装”,而是“装给谁”。每次遇到ModuleNotFoundError,先查sys.path,再核对解释器路径,最后看包是不是真在那个解释器的site-packages里——绕过这三步直接重装,90%的情况会反复踩坑。










