Jupyter Notebook提示无featuretools模块但终端已安装该如何解决?
解决方法
90%以上的此类问题根源是Jupyter运行使用的Python环境,和你终端执行安装命令时的Python环境不一致,二者的依赖包目录互相独立
第一步:确认环境匹配情况
- 在Jupyter的代码单元格中执行以下代码,记录输出的解释器路径:
import sys print(sys.executable)
- 在你执行安装命令的终端中执行以下命令,对比输出的路径和上一步的结果是否一致:
pip --version
如果路径不一致,直接按下方方案1处理即可,路径一致再看后续方案。
可行解决方案
方案1:直接在Jupyter对应环境安装
直接在Jupyter代码单元格中执行对应安装命令,强制安装到Jupyter当前使用的环境中:
- pip安装方式:
!{sys.executable} -m pip install featuretools==0.27.0
- conda安装方式:
!conda install --yes -c conda-forge featuretools==0.27.0
执行完成后,点击Jupyter界面的「内核」-「重启内核」,再尝试导入即可。
方案2:将已装包的环境添加为Jupyter内核
如果你确认终端的环境中已经成功安装featuretools,可直接将该环境注册为Jupyter的可用内核:
- 终端中激活你安装了featuretools的环境,以conda环境为例:
conda activate 你的环境名称
- 安装ipykernel依赖:
pip install ipykernel
- 将当前环境注册到Jupyter内核列表:
python -m ipykernel install --user --name 你的环境名称 --display-name "Python (featuretools环境)"
重启Jupyter后,在界面右上角切换内核为刚注册的「Python (featuretools环境)」即可。
方案3:路径权限/冲突排查
如果上述两个方案都无效,执行以下排查操作:
- 终端执行
pip show featuretools,记录输出的Location字段对应的路径 - 在Jupyter中执行
print(sys.path),检查上述Location路径是否在输出的列表中 - 如果不在,可在导入featuretools前临时添加路径:
import sys # 替换为你刚才记录的Location路径 sys.path.append("/path/to/featuretools/location") import featuretools
内容的提问来源于stack exchange,提问作者yellow24
相关产品推荐
相关产品推荐

