PyCharm 报 No module named,终端却能运行:先对齐解释器和 pip
不要先重复安装依赖。用 sys.executable、python -m pip show、运行配置和工作目录定位 PyCharm 与终端是否使用了不同环境。
先判断:包没安装,还是安装到了另一个 Python
同一台电脑可以同时有系统 Python、Homebrew/Windows Store Python、Conda 和多个 .venv。命令行里的 pip install 成功,只能证明某个 pip 安装了包,不能证明 PyCharm 正在使用同一个解释器。
1. 先取两份可对比证据
在外部终端和 PyCharm 的 Run 窗口分别运行:
import os, sys
print("python:", sys.executable)
print("version:", sys.version)
print("cwd:", os.getcwd())
print("path0:", sys.path[0])再在两个环境分别执行 python -m pip --version 和 python -m pip show 包名。pip 官方文档说明,python -m pip 会让 pip 由你指定的那个 Python 执行;pip show 还会显示包的 Location。
2. 按差异修复
- sys.executable 不同:在 PyCharm 状态栏的 Python Interpreter 选择项目真正要用的解释器,或为项目新建虚拟环境。
- 解释器相同,show 找不到:使用该解释器的
-m pip install安装,不要依赖 PATH 中的裸pip。 - 第三方包能导入,自己的模块不能:检查 Run/Debug Configuration 的 working directory、源码根目录与包结构,不要通过在脚本里硬编绝对
sys.path来掩盖项目结构问题。
3. 验收标准
- Run 窗口与预期环境的
sys.executable相同。 python -m pip show显示的 Location 属于该解释器。- 从干净启动的 PyCharm 重跑成功,不需要临时改 PATH 或手改 sys.path。
官方来源
同一问题集群的免费排障页
按你当前看到的报错选一页,不需要从头阅读全部内容。
Python、JDK 与 JetBrains 项目换电脑:解释器、SDK、.idea 和依赖怎么迁移
区分源代码、团队配置、本机状态、秘密文件和可重建目录;按证据处理 Python venv、PyCharm 解释器、IntelliJ JDK、Git 凭据、Node 与 CMake。
2026 JetBrains 合法免费使用指南:学生许可、非商业使用、试用与商业订阅怎么选
不再寻找失效激活码:按学生/教师、个人非商业、商业工作、课堂部署和短期评估五种用途,核对 JetBrains 当前官方许可路径与安全迁移步骤。
Python .venv 换电脑后失效:不要复制,用依赖定义重建
Python 官方明确将虚拟环境视为可丢弃、不可搬运的目录。本页给出换机前保存证据、目标机重建和验收步骤。
IntelliJ 无效的源发行版:区分 Project SDK、Language level 和 Gradle JVM
java -version 正常不等于项目编译链正确。逐层核对 JDK、javac、Project SDK、模块 SDK、语言级别与 Gradle JVM。
CMake 换目录后还指向旧路径:删缓存重配置,不要手改 CMakeCache
项目改路径、换电脑或更换编译器后,旧构建树容易留下绝对路径。用 fresh 配置、Presets 和可重现验收修复。
node_modules 要不要复制到新电脑?用 package-lock 和 npm ci 重建
node_modules 可能包含平台二进制、符号链接和安装脚本结果。保留 package.json、锁文件与项目 npm 配置,在目标机做可复现安装。