VS Code无法识别sklearn模块求助:已安装仍报ModuleNotFoundError
解决VS Code中找不到scikit-learn模块的问题
问题分析
从你提供的命令行输出能直接定位问题:
- 运行代码时用的是虚拟环境里的Python解释器(路径:
k:/portfolio_py/temporary app/virtual/Scripts/python.exe) - 但
pip install把scikit-learn装到了全局Python 3.10环境(路径:c:\users\manos\appdata\local\packages\pythonsoftwarefoundation.python.3.10_qbz5n2kfra8p0\localcache\local-packages\python310\site-packages)
虚拟环境和全局环境完全独立,所以虚拟环境里找不到全局安装的模块。
解决方案
方案1:给虚拟环境安装scikit-learn
- 激活虚拟环境,在PowerShell执行:
k:/portfolio_py/temporary app/virtual/Scripts/Activate.ps1
激活成功后命令行前缀会显示(virtual)
2. 在激活的虚拟环境里安装scikit-learn:
pip install scikit-learn
- 重新运行代码即可
方案2:让VS Code使用全局Python解释器
如果不需要用虚拟环境,直接切换到已装scikit-learn的全局环境:
- 打开VS Code,按
Ctrl+Shift+P打开命令面板 - 输入
Python: Select Interpreter并选择该选项 - 在列表里选路径包含
c:\users\manos\appdata\local\packages\pythonsoftwarefoundation.python.3.10_qbz5n2kfra8p0的Python解释器 - 重新运行代码即可
附:你提供的命令行输出
Installing collected packages: scikit-learn Successfully installed scikit-learn-1.1.2 PS K:\portfolio_py> & "k:/portfolio_py/temporary app/virtual/Scripts/python.exe" k:/portfolio_py/titanic_random_forest.py Traceback (most recent call last): File "k:\portfolio_py\titanic_random_forest.py", line 4, in <module> from sklearn.linear_model import LinearRegression, Ridge ModuleNotFoundError: No module named 'sklearn' PS K:\portfolio_py> pip install scikit-learn --upgrade Requirement already satisfied: scikit-learn in c:\users\manos\appdata\local\packages\pythonsoftwarefoundation.python.3.10_qbz5n2kfra8p0\localcache\local-packages\python310\site-packages (1.1.2) Requirement already satisfied: threadpoolctl>=2.0.0 in c:\users\manos\appdata\local\packages\pythonsoftwarefoundation.python.3.10_qbz5n2kfra8p0\localcache\local-packages\python310\site-packages (from scikit-learn) (3.1.0) Requirement already satisfied: joblib>=1.0.0 in c:\users\manos\appdata\local\packages\pythonsoftwarefoundation.python.3.10_qbz5n2kfra8p0\localcache\local-packages\python310\site-packages (from scikit-learn) (1.1.0) Requirement already satisfied: numpy>=1.17.3 in c:\users\manos\appdata\local\packages\pythonsoftwarefoundation.python.3.10_qbz5n2kfra8p0\localcache\local-packages\python310\site-packages (from scikit-learn) (1.22.4) Requirement already satisfied: scipy>=1.3.2 in c:\users\manos\appdata\local\packages\pythonsoftwarefoundation.python.3.10_qbz5n2kfra8p0\localcache\local-packages\python310\site-packages (from scikit-learn) (1.9.0) PS K:\portfolio_py> & "k:/portfolio_py/temporary app/virtual/Scripts/python.exe" k:/portfolio_py/titanic_random_forest.py Traceback (most recent call last): File "k:\portfolio_py\titanic_random_forest.py", line 4, in <module> from sklearn.linear_model import LinearRegression, Ridge ModuleNotFoundError: No module named 'sklearn' PS K:\portfolio_py>
内容的提问来源于stack exchange,提问作者Priniotis
相关产品推荐
相关产品推荐

