PyCharm(Jupyter环境)安装Xgboost后无法导入问题求助
这种情况我之前折腾过好几次,大概率是pip升级后PyCharm的环境同步出了问题,给你几个亲测有效的解决步骤:
确认PyCharm使用的解释器与pip路径一致
打开PyCharm的设置:File → Settings → Project: [你的项目名] → Project Interpreter,记下右上角显示的解释器路径。然后打开PyCharm内置终端,输入:- Mac/Linux:
which pip - Windows:
where pip
对比两个路径是否完全匹配。如果不一样,说明PyCharm用的是另一个虚拟环境或者系统默认解释器,切换到和pip对应的那个解释器即可。
- Mac/Linux:
直接通过PyCharm终端手动安装Xgboost
图形化界面的安装有时候会有缓存延迟,直接在终端里执行:pip install xgboost安装完成后,回到
Project Interpreter页面,点击右上角的刷新按钮(圆形箭头),看看Xgboost是不是出现在列表里了。检查Xgboost的安装位置是否匹配PyCharm的包目录
在终端输入:pip show xgboost查看输出里的
Location字段,然后对比PyCharm中已安装包的路径前缀(比如随便点一个已安装的包,看它的Location)。如果路径不匹配,说明Xgboost装到了别的环境里,这时候可以指定安装路径:pip install xgboost -t [PyCharm的包目录路径]路径可以从已安装包的Location里复制前面的部分,比如
/Users/xxx/.pyenv/versions/3.6/lib/python3.6/site-packages。清除PyCharm缓存并重启
有时候缓存会导致包列表显示异常,操作步骤:File → Invalidate Caches / Restart...,选择Invalidate and Restart,重启后再检查包列表和导入情况。针对Jupyter Notebook的额外检查
因为你集成了Jupyter,要确认Notebook使用的内核和PyCharm的解释器一致。在Jupyter单元格里运行:import sys print(sys.executable)对比输出的路径和PyCharm的解释器路径,如果不一样,需要把Jupyter内核切换到正确的环境,或者在那个内核对应的环境里重新安装Xgboost。
内容的提问来源于stack exchange,提问作者Mateusz Konopelski

