根本原因是vscode使用的python解释器与pip安装环境不一致:右下角状态栏显示的解释器路径必须和终端中python -c "import sys; print(sys.executable)"输出完全一致,否则import必报modulenotfounderror;需手动选择.venv路径、重启终端并用python -m pip install验证。

为什么 pip install 后 import 还报错?
根本原因不是没装,而是 VSCode 没用对解释器。哪怕你终端里 pip install torch 成功了,如果当前打开的 Python 文件用的是系统 Python 或另一个虚拟环境,import torch 依然会抛 ModuleNotFoundError。
检查方式很简单:在 VSCode 编辑器右下角看状态栏,那里显示的路径必须和你执行 pip install 时所在的环境一致。比如你在终端激活了 .venv,但 VSCode 底部显示的是 /usr/bin/python3,那所有安装都白搭。
- 按
Ctrl+Shift+P→ 输入Python: Select Interpreter,手动选中.venv/bin/python(macOS/Linux)或.venv\Scripts\python.exe(Windows) - 不要依赖自动检测——尤其当你装了 Anaconda、pyenv、多个 Python 版本时,VSCode 常常列出一堆带
(global)或(system)标签的选项,但它们都不是你的项目环境 - 如果列表里根本没有
.venv,说明 VSCode 没扫描到它,这时直接选Enter interpreter path,粘贴完整路径(可用which python或where python查)
大型依赖(如 PyTorch、TensorFlow)安装失败怎么办?
这类库往往带编译扩展、GPU 支持、平台特定二进制包,pip install 容易卡在 wheel 构建或 CUDA 版本不匹配上。别硬等,先换源 + 显式指定版本。
- 临时换国内源提速:
pip install torch --index-url https://pypi.tuna.tsinghua.edu.cn/simple/ - 查清你的 Python 版本和系统架构:
python -c "import platform; print(platform.architecture(), platform.machine())",再对照官网下载页(如pytorch.org)复制对应命令,而不是盲目pip install torch - 避免 pip 自动升级:加
--no-deps单独装核心包,再用pip install -r requirements.txt统一处理依赖,防止pip强行降级已有包引发冲突 - 装完后务必在 VSCode 的 Python 终端(不是系统终端)里运行
python -c "import torch; print(torch.__version__)"验证,因为终端默认继承当前解释器上下文
requirements.txt 里有 git 仓库或本地路径,VSCode 调试时找不到模块
VSCode 默认只把当前工作区根目录加入 PYTHONPATH,而 -e git+https://... 或 ./src 这类依赖需要显式暴露路径,否则调试器启动时模块导入就失败。
- 在项目根目录下创建
.vscode/settings.json,添加:{"python.defaultInterpreterPath": "./.venv/bin/python","python.envFile": "${workspaceFolder}/.env"} - 在
.env文件里写:PYTHONPATH=${PYTHONPATH}:/full/path/to/your/local/package(注意填绝对路径,${workspaceFolder}在 .env 里不生效) - 更稳妥的做法是:把 git 依赖先
pip install -e到虚拟环境,再确保 VSCode 解释器指向该环境——这样import才能被调试器识别 - 别在 launch.json 里硬编码
"env": {"PYTHONPATH": "..."},它只影响调试进程,不影响代码补全和 linting
多环境切换时,Jupyter Notebook 却还在用旧内核
Jupyter 内核(kernel)和 VSCode 的 Python 解释器是两套独立配置。你换了项目解释器,Notebook 可能还连着上一个 python3 内核,导致 import 正常但 torch.cuda.is_available() 返回 False。
- 打开 .ipynb 文件后,看右上角 kernel 选择器(写着 Python 3.11 或类似),点击它 →
Change Kernel→ 选 “Python Environment” 下面那个带.venv路径的选项 - 如果列表里没有,说明该环境还没注册为 Jupyter kernel:在已激活的
.venv终端里运行python -m ipykernel install --user --name myproject --display-name "Python (myproject)" - 删掉旧 kernel:运行
jupyter kernelspec list查路径,再用jupyter kernelspec uninstall myoldproject清理残留 - 重启 VSCode —— Jupyter 内核不会热更新,改完必须重启才能生效
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











