在 Python 3.8 上安装 XGBoost 时出现问题

Problem with installing XGBoost on Python 3.8

在我的 3.7 venv xgboost 上工作正常,但是当我更改为 python 3.8 venv 从 3.7 venv 继承所有包时,解释器找不到模块。我在尝试通过 PyCharm 设置安装它时也遇到错误:

      ERROR: Command errored out with exit status 1: 'C:\Users\exemed\PycharmProjects\test2\venv\venv38\Scripts\python.exe'
     -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\exemed\AppData\Local\Temp\pycharm-packaging\xgboost\setup.py'"'"'; 
    __file__='"'"'C:\Users\exemed\AppData\Local\Temp\pycharm-packaging\xgboost\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);
    code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');
    f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\exemed\AppData\Local\Temp\pip-record-3_ddvcjb\install-record.txt' 
--single-version-externally-managed --compile --install-headers 'C:\Users\exemed\PycharmProjects\test2\venv\venv38\include\site\python3.8\xgboost' 
    Check the logs for full command output.

这可能不是一个完美的解决方案,但我只是根据我过去所见提供了一些尝试。另请注意,通常当您的计算机上安装了多个版本的 python 时,它 有时会让您头疼。

我要检查的第一件事是 运行 $ python -V 以确保您的 PATH 实际上是为 python 3.8 配置的。我被引导相信它是“which pip”的问题。

  • 如果是,那你也试试:$ python -m pip install xgboost
  • 如果还是不行,那你也试试:$ python-3.8 -m pip install xgboost
  • 如果都失败了,那么最后的努力就在这里。尝试:$ pip3.8 install xgboost

Reference

如果其中 none 有效,那么可能是新安装的 pip 和 python 遇到问题的 PATH。进入设置 > 编辑系统环境变量并设置“python”指向安装 python 3.8 的目录。对“pip”做同样的事情就可以了。

第三,您可能有依赖性问题。首先,检查您是否需要为 xgboost 安装 C++ 构建工具,如果是,则安装这些工具并重试。

第四:您可能对已安装的库有依赖性问题。转到您的 python 3.7 环境和 运行 $ pip freeze > requirements.txt 以获取您已安装的所有库的列表,然后在 python 3.8 环境中 cd 到该目录,然后运行$ pip install -r requirements.txt。我希望这些建议之一能为您指明正确的方向!