我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

pippython的包管理工具,一般使用pip install <包名>来安装相关的功能。其中,有个苏南大叔认为不是太合理的地方,就是包名和实际代码中的名称可以不一致!这也是本文中问题发生的原因之一。

苏南大叔:机器学习库sklearn包,如何操作升级为scikit-learn? - scikit-learn
机器学习库sklearn包,如何操作升级为scikit-learn?(图4-1)

大家好,这里是苏南大叔的平行空间笔记本博客,本文描述基于python的机器学习库sklearn的安装问题。测试环境:win10python@3.11.0pip@23.0.1scikit-learn@1.2.2

报错信息

按照以往经验,缺少sklearn库,就执行命令安装即可。

pip install sklearn

苏南大叔:机器学习库sklearn包,如何操作升级为scikit-learn? - pip-install-sklearn-fail
机器学习库sklearn包,如何操作升级为scikit-learn?(图4-2)

然而收到了如下提示信息:

 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

      If the previous advice does not cover your use case, feel free to report it at
      https://github.com/scikit-learn/sklearn-pypi-package/issues/new

大意就是:sklearn包过时了,需要安装scikit-learn包了。参考说明:

解决方案

根据错误信息提示,苏南大叔使用下面的新命令来安装新的scikit-learn包。

pip install scikit-learn

苏南大叔:机器学习库sklearn包,如何操作升级为scikit-learn? - scikit-learn-pip
机器学习库sklearn包,如何操作升级为scikit-learn?(图4-3)

而在.py代码中,仍然保持sklearn的字样即可。那么,这里就出现了一个问题。本来包名和代码中的名字是一致的,都是sklearn。但是,现在不一致了,可能会产生一些误会。

from sklearn.datasets import load_iris
# ...

查看版本号

可以通过下面的命令查看当前安装的scikit-learn包的版本号:

pip show scikit-learn

苏南大叔:机器学习库sklearn包,如何操作升级为scikit-learn? - 查看版本号
机器学习库sklearn包,如何操作升级为scikit-learn?(图4-4)

参考文章:

相关文章

总结

根据百度百科的说明,sklearn本来也是个简写,全称是scikit-learn。这么来说的话,这个看起来比较怪异的改名操作,也是可以理解的了。不是么?
苏南大叔写的各种python经验文章,可以参考:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   python    pip