已通过Conda安装feature_engine等包仍遇ModuleNotFoundError求助
Conda已安装feature_engine和category_encoders,但JupyterLab导入报错ModuleNotFoundError
环境详情
- Conda已安装的包:
feature_engine 1.8.0 pyhd8ed1ab_0 conda-forge category_encoders 2.6.3 py311haa95532_0
- Python版本:
python 3.11.9 he1021f5_0
- JupyterLab相关组件版本:
jupyter_client 8.6.0 py311haa95532_0 jupyter_core 5.7.2 py311haa95532_0
报错情况
导入feature_engine时执行代码:
from feature_engine.variable_transformers import LogTransformer
触发报错:
ModuleNotFoundError Traceback (most recent call last) Cell In[3], line 1 ----> 1 from feature_engine.variable_transformers import LogTransformer ModuleNotFoundError: No module named 'feature_engine'
导入category_encoders时执行代码:
import category_encoders
触发报错:
ModuleNotFoundError Traceback (most recent call last) Cell In[5], line 1 ----> 1 import category_encoders ModuleNotFoundError: No module named 'category_encoders'
解决步骤
1. 核对Jupyter使用的Python环境
在Jupyter单元格里运行以下代码,查看当前Kernel的Python路径:
import sys print(sys.executable)
再在终端执行conda info --envs,找到安装了目标包的环境路径,对比两个路径是否一致。不一致说明Jupyter没用到正确的Conda环境。
2. 为目标Conda环境添加IPython Kernel
如果环境不匹配,打开终端,激活目标环境后执行:
conda activate 你的环境名称 conda install ipykernel python -m ipykernel install --user --name=你的环境名称 --display-name="Python (你的环境名称)"
重启JupyterLab后,在Kernel菜单里选择刚添加的环境,再运行导入代码。
3. 临时在Jupyter内安装包(不推荐长期用)
如果不想切换Kernel,直接在Jupyter单元格里执行:
!pip install feature_engine==1.8.0 category_encoders==2.6.3
注意:这种方式可能破坏Conda环境的依赖结构,优先用前两种方法。
4. 确认启动Jupyter前激活了目标环境
启动JupyterLab之前,必须先在终端激活安装了feature_engine和category_encoders的Conda环境,否则Jupyter会默认使用base环境,自然找不到包。
内容的提问来源于stack exchange,提问作者Sura Deva
相关产品推荐
相关产品推荐

