跳转到主要内容

已弃用的sklearn软件包,请使用scikit-learn代替

项目描述

⚠️⚠️⚠️ 摘要 ⚠️⚠️⚠️

⚠️⚠️⚠️ sklearn PyPI软件包已弃用,请使用scikit-learn代替 ⚠️⚠️⚠️

如何解决主要用例的错误

  • 使用pip install scikit-learn而不是pip install sklearn
  • 在您的pip需求文件(requirements.txtsetup.pysetup.cfgPipfile等)中将sklearn替换为scikit-learn
  • 如果您的依赖项中使用了sklearn包,那么您最好花一些时间追踪哪个包使用sklearn而不是scikit-learn,并将其报告给它们的issue tracker
  • 作为最后的手段,设置环境变量SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=True以避免此错误

弃用的原因

PyPI上的sklearn软件包存在是为了防止恶意行为者使用sklearn软件包,因为sklearn(导入名称)和scikit-learn(项目名称)有时被互换使用。scikit-learn是实际的包名称,应与pip一起使用,例如

  • pip命令:pip install scikit-learn
  • pip需求文件(requirements.txtsetup.pysetup.cfgPipfile等)

撰写本文时(2022年10月)sklearn的下载量约为PyPI上scikit-learn下载量的1/5,因此很多人在使用它。

PyPI上的sklearn包实现存在一些边缘情况。

  • 执行pip install sklearn==1.1.3时会显示1.1.3版本不存在,这很令人困惑。撰写本文时sklearn的唯一可用版本是0.0。
  • 执行pip uninstall sklearn实际上并不会卸载scikit-learn,之后你仍然可以执行import sklearn
  • 在pip列表输出中同时出现sklearnscikit-learn可能会让人困惑,引发诸如“为什么我有scikit-learn 1.1.3和sklearn 0.0,这到底意味着什么”等问题?

历史降级时间表

从2023年12月1日起,尝试安装PyPI上的sklearn包将引发错误。

以下表格显示了2022年12月1日至2023年12月1日之间使用的降级时间表,以使更多人意识到弃用。

日期 窗口
2022年12月1日至2023年1月31日 每小时00:00-00:05
2023年2月1日至3月31日 每小时00:00-00:10
2023年4月1日至5月31日 每小时00:00-00:15
2023年6月1日至7月31日 每小时00:00-00:10和00:30-00:40
2023年8月1日至9月30日 每小时00:00-00:15和00:30-00:45
2023年10月1日至11月30日 每小时00:00-00:20和00:30-00:50
2023年12月1日起 始终引发异常

项目详情


下载文件

下载适用于您平台文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

sklearn-0.0.post12.tar.gz (2.6 kB 查看哈希值)

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面