已安装模块但Jupyter Notebook提示“No module named”错误求助
虚拟环境中已安装包但无法import的解决方法
我在路径
D:\Machine Learning\Hand Gesture\tfhg下创建了名为tfhg的虚拟环境,随后在代码中执行:!pip install tensorflow opencv-python mediapipe scikit-learn matplotlib import numpy as np from matplotlib import pyplot as plt import os import cv2 import time import mediapipe as mp通过
!pip list查看包列表,能看到opencv-python和mediapipe,但运行import语句时,先出现No module named 'cv2'错误,注释该语句后又出现No module named mediapipe错误。已尝试重启内核、卸载重装相关包,但问题仍未解决。
确认虚拟环境是否正确激活
- 命令行环境下,退出当前环境后重新执行激活命令:
- Windows cmd:
D:\Machine Learning\Hand Gesture\tfhg\Scripts\activate.bat - Windows PowerShell:
D:\Machine Learning\Hand Gesture\tfhg\Scripts\Activate.ps1
- Windows cmd:
- Jupyter Notebook环境下,确保内核绑定虚拟环境:
- 激活虚拟环境后安装ipykernel:
pip install ipykernel - 将虚拟环境添加为Jupyter内核:
python -m ipykernel install --user --name=tfhg - 在Notebook顶部菜单栏切换到名为
tfhg的内核
- 激活虚拟环境后安装ipykernel:
- 命令行环境下,退出当前环境后重新执行激活命令:
检查pip与Python的路径匹配性
- 激活环境后执行
where python(Windows)或which python(Linux/macOS),记录Python路径 - 执行
where pip或which pip,确认pip路径与Python路径同属该虚拟环境 - 若路径不匹配,使用虚拟环境内的pip完整路径安装包,例如:
D:\Machine Learning\Hand Gesture\tfhg\Scripts\pip.exe install opencv-python mediapipe
- 激活环境后执行
清理缓存后重装包
- 卸载目标包:
pip uninstall -y opencv-python mediapipe - 清除pip缓存:
pip cache purge - 重新安装:
pip install opencv-python mediapipe
- 卸载目标包:
重建虚拟环境
- 若以上方法无效,删除现有环境文件夹
D:\Machine Learning\Hand Gesture\tfhg - 重新创建环境:
python -m venv D:\Machine Learning\Hand Gesture\tfhg - 激活环境后重新安装所有依赖包
- 若以上方法无效,删除现有环境文件夹
内容的提问来源于stack exchange,提问作者Sheikh Taha Maroof
相关产品推荐
相关产品推荐

