安装scikit-learn¶
有多种安装scikit-learn的方法:
安装最新的官方版本。这是对于大多数用户来说最好的方法。它将提供一个较稳定的版本,并且预编译的软件包可适用于大多数平台。 安装电脑操作系统或Python发行版提供的scikit-learn版本 。对于电脑操作系统或Python发行版兼容scikit-learn的用户来说,这是一个快速的选择。它提供的可能不是最新的发行版本。 从源代码构建软件包。对于想要最新和最强大的功能并且不害怕运行全新代码的用户而言,这是最好的选择。这也正是希望为该项目做出贡献的用户所需要的。
安装最新版本
操作系统:Windows
包管理器:pip
例如从https://www.python.org上安装Python 3的64位版本。
然后运行:
pip install -U scikit-learn
您可以使用以下语句去检查
python -m pip show scikit-learn # 查看scikit-learn安装的位置及安装的版本
python -m pip freeze # 查看所有在虚拟环境中已下载的包
python -c "import sklearn; sklearn.show_versions()"
操作系统:Windows
包管理器:conda
安装 conda(不需要管理员权限).
然后运行:
conda install scikit-learn
您可以使用以下语句去检查
conda list scikit-learn # 查看scikit-learn安装的位置及安装的版本
conda list # 查看所有在虚拟环境中已下载的包
python -c "import sklearn; sklearn.show_versions()"
操作系统:macOS
包管理器:pip
使用 homebrew (brew install python
) 或通过从 https://www.python.org手动安装软件包来安装Python 3
然后运行:
pip install -U scikit-learn
您可以使用以下语句去检查
python -m pip show scikit-learn # 查看scikit-learn安装的位置及安装的版本
python -m pip freeze # 查看所有在虚拟环境中已下载的包
python -c "import sklearn; sklearn.show_versions()"
操作系统:macOS
包管理器:conda
安装 conda(不需要管理员权限).
然后运行:
conda install scikit-learn
您可以使用以下语句去检查
conda list scikit-learn # 查看scikit-learn安装的位置及安装的版本
conda list # 查看所有在虚拟环境中已下载的包
python -c "import sklearn; sklearn.show_versions()"
操作系统:Linux
包管理器:pip
使用Linux发行版的软件包管理器安装python3和python3-pip
然后运行:
pip3 install -U scikit-learn
您可以使用以下语句去检查
python3 -m pip show scikit-learn # 查看scikit-learn安装的位置及安装的版本
python3 -m pip freeze # 查看所有在虚拟环境中已下载的包
python3 -c "import sklearn; sklearn.show_versions()"
操作系统:Linux
包管理器:conda
安装 conda(不需要管理员权限).
然后运行:
conda install scikit-learn
您可以使用以下语句去检查
conda list scikit-learn # 查看scikit-learn安装的位置及安装的版本
conda list # 查看所有在虚拟环境中已下载的包
python -c "import sklearn; sklearn.show_versions()"
请注意,为了避免与其他软件包产生潜在的冲突,强烈建议使用虚拟环境,例如python3 virtualenv
(请参阅python3 virtualenv文档)或conda环境。
使用独立的环境去安装scikit-learn的特定版本及其依赖项时,可以完全与任何先前安装的Python软件包区分开。特别是在Linux下,不建议安装pip软件包依赖于软件包管理器(apt,dnf,pacman…)管理的软件包上。
请注意,无论何时启动新的终端会话,您都应该始终记住在运行任何Python命令之前要先激活您选择的环境。
如果尚未安装NumPy或SciPy,也可以使用conda或pip安装它们。使用pip时,请确保使用二进制wheels,并且不会从源代码重新编译NumPy和SciPy,这在使用操作系统和硬件的特定配置(例如Raspberry Pi上的Linux)时可能会发生。
如果必须使用pip安装scikit-learn及其依赖项,则可以将其安装为scikit-learn[alldeps]
。
Scikit-learn的绘图功能(例如,函数以“ plot_”开头和类以“ Display”结尾)需要Matplotlib(> = 2.1.1)。为了运行这些示例,需要Matplotlib> = 2.1.1。其他有些示例需要scikit-image> = 0.13,有些示例需要Pandas> = 0.18.0,有些示例需要seaborn> = 0.9.0。
警告:
Scikit-learn 0.20是最后一个支持Python 2.7和Python 3.4的版本。 Scikit-learn0.21支持Python 3.5-3.7。 Scikit-learn0.22支持Python 3.5-3.8。Scikit-learn现在需要Python 3.6或更高版本。
注意:
要在PyPy上安装,需要PyPy3-v5.10 +,Numpy 1.14.0+和scipy 1.1.0+。
scikit-learn的第三方发行版
一些第三方发行版提供了scikit-learn的版本及其软件包管理系统。
这些功能使用户的安装和升级变得更加容易,因为集成功能拥有自动安装scikit-learn所需的依赖项(numpy,scipy)的能力。
以下是OS和python发行版提供的scikit-learn版本的不完整列表。
Arch
Arch Linux的包是通过官方资料库的 python-scikit-learn
提供的。可以通过键入以下命令来安装它:
sudo pacman -S python-scikit-learn
Debian / Ubuntu
Debian / Ubuntu软件包分为三个不同的软件包,分别称为 python3-sklearn
(python模块),python3-sklearn-lib
(低配版),python3-sklearn-doc
(文档)。Debian Buster(最新的Debian发行版)中仅提供Python 3版本。可以使用命令apt-get
安装软件包:
sudo apt-get install python3-sklearn python3-sklearn-lib python3-sklearn-doc
Fedora
Fedora软件包在python 3版本中被称为python3-scikit-learn
,这是Fedora30中唯一可用的版本。可以使用dnf
命令安装:
sudo dnf install python3-scikit-learn
NetBSD
scikit-learn可通过pkgsrc-wip获得:
MacPorts for Mac OSX
MacPorts软件包的名称为py<XY>-scikits-learn
,其中XY
表示Python版本。可以通过键入以下命令来安装它:
sudo port install py36-scikit-learn
Canopy和Anaconda适用于所有支持的平台
除了用于Windows,Mac OSX和Linux的大量科学python库之外,Canopy和Anaconda还提供了最新版本的scikit-learn。
Anaconda免费提供scikit-learn。
Intel conda channel
英特尔拥有专用的conda渠道,该渠道可提供scikit-learn:
conda install -c intel scikit-learn
此版本的scikit-learn包含一些常见估量的替代求解器。这些求解器来自DAAL C ++库,并针对多核Intel CPU进行了优化。
请注意,默认情况下不启用这些求解器,请参阅 daal4py文档以获取更多详细信息。
可通过在https://github.com/IntelPython/daal4py上报告的自动集成,运行完整的scikit-learn测试,来检查与标准scikit-learn解算器的兼容性。
Windows 版WinPython
该WinPython项目作为额外的插件在scikit-learn发布。
故障排除
Windows上的文件路径长度限制引起的错误
如果将Python安装在电脑内部位置(例如AppData
用户主目录下的文件夹结构)中,若达到Windows的默认路径大小限制时,pip可能无法安装软件包 ,例如:
C:\Users\username>C:\Users\username\AppData\Local\Microsoft\WindowsApps\python.exe -m pip install scikit-learn
Collecting scikit-learn
...
Installing collected packages: scikit-learn
ERROR: Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: 'C:\\Users\\username\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python37\\site-packages\\sklearn\\datasets\\tests\\data\\openml\\292\\api-v1-json-data-list-data_name-australian-limit-2-data_version-1-status-deactivated.json.gz'
在这种情况下,可以使用以下regedit
工具在Windows注册表中取消该限制:
在Windows开始菜单中键入“ regedit”来启动
regedit
。选择
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
key编辑该
LongPathsEnabled
键的属性值,将其设置为1。重新安装scikit-learn(忽略以前的安装报错):
pip install --exists-action=i scikit-learn