sklearn 不再维护的问题

bash 复制代码
(race-predicted) syh@syh-HKF-WXX:~/PycharmProjects/race-predicted$ pip install -r requirements.txt 
Collecting numpy==1.16.4 (from -r requirements.txt (line 1))
  Using cached numpy-1.16.4.zip (5.1 MB)
  Preparing metadata (setup.py) ... done
Collecting sklearn (from -r requirements.txt (line 2))
  Using cached sklearn-0.0.post12.tar.gz (2.6 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [15 lines of output]
      The 'sklearn' PyPI package is deprecated, use 'scikit-learn'
      rather than 'sklearn' for pip commands.
      
      Here is how to fix this error in the main use cases:
      - use 'pip install scikit-learn' rather than 'pip install sklearn'
      - replace 'sklearn' by 'scikit-learn' in your pip requirements files
        (requirements.txt, setup.py, setup.cfg, Pipfile, etc ...)
      - if the 'sklearn' package is used by one of your dependencies,
        it would be great if you take some time to track which package uses
        'sklearn' instead of 'scikit-learn' and report it to their issue tracker
      - as a last resort, set the environment variable
        SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=True to avoid this error
      
      More information is available at
      https://github.com/scikit-learn/sklearn-pypi-package
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

您遇到的错误是由于在 requirements.txt 文件中指定了已弃用的 sklearn 包。sklearn 包已经不再维护,建议使用 scikit-learn 代替。以下是详细的解释和解决方法:

错误原因

  • 弃用的包 : sklearn 包已被弃用,官方推荐使用 scikit-learn
  • 安装失败 : 当 pip 尝试安装 sklearn 时,由于包不再维护,导致 setup.py 无法成功运行,从而引发错误。

解决方法

  1. 更新 requirements.txt 文件:

    • 打开您的 requirements.txt 文件。
    • 将所有的 sklearn 条目替换为 scikit-learn

    示例

    diff 复制代码
    - sklearn
    + scikit-learn
  2. 重新运行安装命令 :

    在终端中运行以下命令以安装更新后的依赖包:

    bash 复制代码
    pip install -r requirements.txt
  3. 验证安装 :

    确认 scikit-learn 已成功安装,可以在 Python 环境中运行以下命令:

    python 复制代码
    import sklearn
    print(sklearn.__version__)

    如果没有错误,并且显示了版本号,说明安装成功。

其他建议

  • 检查依赖包的兼容性 : 您的 requirements.txtnumpy 的版本是 1.16.4,这是一个相对较旧的版本。确保 scikit-learn 版本与 numpy 版本兼容。如果可能,考虑升级 numpy 以获得更好的性能和新功能。

    示例

    diff 复制代码
    - numpy==1.16.4
    + numpy>=1.21.0
  • 更新 scikit-learn : 如果您的项目允许,使用最新版本的 scikit-learn 以获得最新的功能和修复。

  • 处理依赖包中的 sklearn : 如果 sklearn 被其他依赖包引用,您可能需要检查这些包是否有更新版本,或者联系维护者以解决依赖问题。

总结

主要问题是 requirements.txt 中使用了已弃用的 sklearn 包。通过将其替换为 scikit-learn,您应该能够解决安装过程中遇到的错误。如果在替换后仍然遇到问题,请确保所有依赖包都是最新的,并且彼此兼容。

如果有任何进一步的问题,请随时提问!

相关推荐
m0_613856294 小时前
mysql如何利用事务隔离级别解决特定业务冲突_mysql隔离方案选型
jvm·数据库·python
昵称小白5 小时前
复杂度分析方法
算法
我的xiaodoujiao5 小时前
API 接口自动化测试详细图文教程学习系列16--项目实战演练3
python·学习·测试工具·pytest
科研前沿5 小时前
2026 数字孪生前沿科技:全景迭代报告 —— 镜像视界生成式孪生(Generative DT)技术白皮书
大数据·人工智能·科技·算法·音视频·空间计算
ID_180079054735 小时前
Python 实现亚马逊商品详情 API 数据准确性校验(极简可用 + JSON 参考)
java·python·json
时空系6 小时前
第10篇:继承扩展——面向对象编程进阶 python中文编程
开发语言·python·ai编程
CHANG_THE_WORLD7 小时前
python 批量终止进程exe
开发语言·python
liann1197 小时前
3.2_红队攻击框架--MITRE ATT&CK‌
python·网络协议·安全·网络安全·系统安全·信息与通信
云天AI实战派7 小时前
AI 智能体问题排查指南:ChatGPT、API 调用到 Agent 上线失灵的全流程修复手册
大数据·人工智能·python·chatgpt·aigc
学涯乐码堂主7 小时前
有趣的“打擂台算法”
c++·算法·青少年编程·gesp