pycharm运行,出现No module named 'sklearn.externals.joblib'
时间: 2025-06-02 10:07:45 浏览: 18
### PyCharm 运行时出现 `No module named 'sklearn.externals.joblib'` 错误解决方案
此错误通常是因为较新的 `scikit-learn` 版本移除了 `sklearn.externals.joblib` 模块[^2]。以下是详细的解决方法:
#### 方法一:单独安装 `joblib`
由于高版本的 `scikit-learn` 不再提供 `sklearn.externals.joblib`,可以直接安装独立的 `joblib` 库并调整代码逻辑。
1. 使用以下命令安装 `joblib`:
```bash
pip install joblib
```
2. 修改代码中涉及的部分,将原来的 `from sklearn.externals import joblib` 替换为直接导入 `joblib`:
```python
import joblib
```
这种方法适用于大多数场景,并能兼容新旧版本的 `scikit-learn`[^2]。
---
#### 方法二:降级 `scikit-learn`
如果项目依赖于早期版本的 `scikit-learn` 并无法修改代码,则可以考虑降级至支持 `sklearn.externals.joblib` 的版本(如 0.24 或更低版)。
1. 卸载当前版本的 `scikit-learn`:
```bash
pip uninstall scikit-learn
```
2. 安装指定低版本的 `scikit-learn`:
```bash
pip install scikit-learn==0.24.2
```
注意:降级可能会影响其他功能或与其他库不兼容,因此需谨慎操作[^4]。
---
#### 方法三:检查虚拟环境配置
在 PyCharm 中运行程序时,确保选择了正确的 Python 解释器以及对应的虚拟环境。
1. 打开 PyCharm 设置路径:
**File -> Settings -> Project: {Your_Project_Name} -> Python Interpreter**
2. 验证所选解释器是否已安装所需的库(如 `joblib` 和 `scikit-learn`)。如果没有,请点击右侧的 "+" 按钮手动安装缺失的库。
3. 如果仍存在问题,尝试创建一个新的虚拟环境并重新安装所有必要的依赖项。
---
#### 方法四:Linux 环境下的特殊处理
如果是 Linux 系统下遇到类似问题,可能是权限不足或其他原因导致模块未被正确加载。可以通过以下方式排查和修复:
1. 确认 `joblib` 是否成功安装:
```bash
python -c "import joblib; print('Joblib is installed')"
```
2. 若仍未解决问题,可尝试升级 `pip` 后再次安装:
```bash
pip install --upgrade pip
pip install joblib
```
此外,在某些情况下,还需确认系统的默认 Python 路径与实际使用的解释器一致[^3]。
---
### 总结
推荐优先采用 **方法一** 来解决该问题,即单独安装 `joblib` 并更新代码中的导入语句。只有在必要时才考虑降级 `scikit-learn` 或调整虚拟环境设置。
```python
# 正确的导入方式
import joblib
```
阅读全文
相关推荐


















