Python3虚拟环境Jupyter Notebook无法导入category_encoders模块
解决Jupyter Notebook无法导入已安装的category_encoders模块问题
我来帮你梳理下这个问题:你已经在虚拟环境里通过pip装好了category_encoders,但Jupyter Notebook就是找不到它,这大概率是Jupyter没使用虚拟环境对应的Python内核导致的——毕竟模块是装在虚拟环境的site-packages目录里的,内核不对自然找不到。下面是具体的解决步骤:
1. 先确认当前Notebook用的是哪个Python内核
在你的Notebook里运行这段代码,查看当前使用的Python路径:
import sys print(sys.executable)
把输出的路径和你虚拟环境的Python路径(也就是/opt/virtual_env/py3/bin/python)对比,如果不一样,那就是内核不匹配的问题了。
2. 给虚拟环境安装并注册Jupyter内核
如果内核不对,咱们把虚拟环境添加到Jupyter的可选内核列表里:
- 先激活你的虚拟环境(如果还没激活的话):
source /opt/virtual_env/py3/bin/activate - 给虚拟环境安装ipykernel(Jupyter内核的依赖工具):
pip install ipykernel - 把这个虚拟环境注册成Jupyter的一个可选内核:
这里的python -m ipykernel install --user --name=py3_virtual_env --display-name="Python 3 (py3虚拟环境)"--name是内核的内部标识名,--display-name是你在Jupyter界面里能看到的显示名称,你可以根据自己的喜好修改。
3. 切换到虚拟环境内核运行Notebook
关闭当前的Notebook页面,重新打开时,在顶部菜单栏的「Kernel」→「Change kernel」里选择刚才注册的Python 3 (py3虚拟环境),之后再尝试导入category_encoders,应该就能正常导入了。
额外的排查小技巧
如果换了内核还是不行,可以试试在虚拟环境里重新安装一遍模块,确保没有安装异常:
pip install --upgrade category-encoders
另外,也可以检查下是不是在激活虚拟环境之后才启动的Jupyter——如果是用系统全局的Jupyter启动的,也会出现找不到虚拟环境模块的情况。
内容的提问来源于stack exchange,提问作者joel
相关产品推荐
相关产品推荐

