已弃用的sklearn软件包,请使用scikit-learn代替
项目描述
⚠️⚠️⚠️ 摘要 ⚠️⚠️⚠️
⚠️⚠️⚠️ sklearn
PyPI软件包已弃用,请使用scikit-learn
代替 ⚠️⚠️⚠️
如何解决主要用例的错误
- 使用
pip install scikit-learn
而不是pip install sklearn
- 在您的pip需求文件(
requirements.txt
,setup.py
,setup.cfg
,Pipfile
等)中将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.txt
,setup.py
,setup.cfg
,Pipfile
等)
撰写本文时(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列表输出中同时出现
sklearn
和scikit-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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 54cff9e20839b7b202321178228af4d9388bedf78425d9299fd9ee170d68802e |
|
MD5 | 58a7624648e854318beb9c17d6521bc8 |
|
BLAKE2b-256 | 461c395a83ee7b2d2ad7a05b453872053d41449564477c81dc356f720b16eac4 |