ImportError: No module named xgboost and package already installed

ImportError: No module named xgboost and package already installed

当我这样做时:

import xgboost

我没有得到名为 xgboost 的模块

我试过: pip 安装 xgboost

我得到:

Requirement already satisfied: xgboost in e:\anaconda\lib\site-packages (1.0.2)
Requirement already satisfied: numpy in e:\anaconda\lib\site-packages (from xgboost) (1.18.1)
Requirement already satisfied: scipy in e:\anaconda\lib\site-packages (from xgboost) (1.4.1)

版本

Python 3.7.4
pip 20.0.2 from E:\Anaconda\lib\site-packages\pip (python 3.7)

其中 python:

E:\Anaconda\python.exe
C:\Users\Federico\AppData\Local\Microsoft\WindowsApps\python.exe

通常会发生这种情况,因为

  1. 您在 virtualenv 中安装了包,并试图将其导入到 env 之外
  2. 您在全局安装了包,并试图将其导入到不继承全局包的 virtualenv 中
  3. 您的 pip 链接到与您正在使用的 python 不同的版本

根据 where python 的输出,您似乎使用了来自 anaconda 的 pip 来安装包,但正试图在脚本中导入包,您 运行 python 位于此处 C:\Users\Federico\AppData\Local\Microsoft\WindowsApps\python.exe 而不是此处 E:\Anaconda\python.exe

例如,如果您的导入代码位于名为 test.py 的脚本中,请使用 E:\Anaconda\python.exe test.py 尝试 运行 并查看错误是否仍然存在

或者用 E:\Anaconda\python.exe 启动 Python shell 然后在 shell 中执行 import xgboost 看看是否有效