安装 scikit-learn
有多种方法可以安装scikit-learn:
- 安装最新的官方版本。对于大多数用户来说,这是最好的方法。它提供一个稳定的版本和可用于大多数平台的预编译的软件包。
- 根据操作系统或Python发行版安装scikit-learn版本 。对于那些拥有操作系统或发布了scikit-learn的Python发行版的用户来说,这是一个快速的选择。这种方法可能安装不了scikit-learn最新的发行版本。
- 从源代码构建软件包。对于需要最新和最好的功能并且不怕运行全新代码的用户而言,这是最好的选择。希望为该项目做出贡献的用户也必须要这样做。
安装最新版本
操作系统: Windows macOS Linux
打包器(Packager): pip conda
使用pip虚拟环境 使用conda环境
首先下载及安装python3:
使用pip packager时:
- Windows系统:从 https://www.python.org 下载安装64位的Python 3 版本。
- mac系统:使用 homebrew (
brew install python
)安装Python 3 或从 https://www.Python.org 下载Python 3 软件包并手动安装。 - Linux系统:使用Linux发行版的软件包管理器来安装python3和python3-pip
使用conda packager时:
- Windows/mac/Linux系统: 安装 conda (无需管理员权限).
然后运行以下命令安装 scikit-learn:
# 情况一:使用pip packager时,若使用 pip 虚拟环境,在windows系统中,使用以下三行命令
$ python -m venv sklearn-venv
$ sklearn-venv\Scripts\activate
$ pip install -U scikit-learn
# 情况二:使用pip packager时,若使用 pip 虚拟环境,在mac系统中,使用以下三行命令
$ python -m venv sklearn-venv
$ source sklearn-venv/bin/activate
$ pip install -U scikit-learn
# 情况三:使用pip packager时,若使用 pip 虚拟环境,在Linux系统中,使用以下三行命令
$ python3 -m venv sklearn-venv
$ source sklearn-venv/bin/activate
$ pip install -U scikit-learn
# 情况四:使用pip packager时,若不使用 pip 虚拟环境,在windows/mac系统中,使用以下一行命令
$ pip install -U scikit-learn
# 情况五:使用pip packager时,若不使用 pip 虚拟环境,在Linux系统中,使用以下一行命令
$ pip3 install -U scikit-learn
# 情况六:使用conda packager时,若使用 conda 环境,在windows/mac/Linux系统中,使用以下三行命令
$ conda create -n sklearn-env
$ conda activate sklearn-env
$ conda install scikit-learn
# 情况七:使用conda packager时,若不使用 conda 环境,在windows/mac/Linux系统中,使用以下一行命令
$ conda install scikit-learn
使用以下命令检查您是否安装成功:
# 情况一:使用pip packager时,若使用 pip 虚拟环境,在windows/mac/Linux系统中,使用以下三行命令
$ python -m pip show scikit-learn # 查看scikit-learn的安装路径和版本
$ python -m pip freeze # 在激活的环境(virtualenv)中查看python安装的所有包
$ python -c "import sklearn; sklearn.show_versions()"
# 情况二:使用pip packager时,若不使用 pip 虚拟环境,在windows/mac系统中,使用以下三行命令
$ python -m pip show scikit-learn # 查看scikit-learn的安装路径和版本
$ python -m pip freeze # 在激活的环境(virtualenv)中查看python安装的所有包
$ python -c "import sklearn; sklearn.show_versions()"
# 情况三:使用pip packager时,若不使用 pip 虚拟环境,在Linux系统中,使用以下三行命令
$ python3 -m pip show scikit-learn # 查看scikit-learn的安装路径和版本
$ python3 -m pip freeze # 在激活的环境(virtualenv)中查看python安装的所有包
$ python3 -c "import sklearn; sklearn.show_versions()"
# 情况四:使用conda packager时,若使用/不使用 conda 环境,使用以下三行命令
$ conda list scikit-learn # 查看scikit-learn的安装版本
$ conda list # 在激活的环境(conda)中查看python安装的所有包
$ python -c "import sklearn; sklearn.show_versions()"
请注意,为了避免与其他软件包发生潜在的冲突,强烈建议使用虚拟环境,例如python3 virtualenv
(请参阅python3 virtualenv文档)或 conda环境。
使用独立的环境可以安装scikit-learn的特定版本及其依赖并且独立于任何以前安装过的Python包。特别对于Linux系统来说,不建议使用系统的软件包管理器(apt,dnf,pacman…)来安装pip包。
请注意,如果您启动一个新的终端会话的话,您都应始终记住在运行任何Python命令之前激活您选择的环境。
如果尚未安装NumPy或SciPy,也可以使用conda或pip来安装它们。使用pip时,请确保使用二进制wheels(binary wheels)*文件进行安装,这样的话不会重新编译NumPy和SciPy的源代码,但当使用操作系统和硬件的特定配置(例如Linux上的Raspberry Pi)时可能会发生重新编译。
如果必须使用pip安装scikit-learn及其依赖的话,则可以将其安装为scikit-learn[alldeps]
。
Scikit-learn绘图功能(即,函数以“ plot_”开头,类名以“ Display”结尾)需要Matplotlib(版本> = 1.5.1)。为了运行示例,需要Matplotlib版本> = 1.5.1。一些示例要求scikit-image版本> = 0.12.3,一些示例要求pandas版本> = 0.18.0。
警告:
Scikit-learn 0.20是最后一个支持Python 2.7和Python 3.4的版本。现在的Scikit-learn版本需要安装Python 3.5或更高版本。
注意:
要在PyPy上安装的话,需要PyPy3-v5.10 +,Numpy 1.14.0+和scipy 1.1.0+。
scikit-learn的第三方发行版
一些第三方发行版提供了scikit-learn的版本,这些版本与它们的包管理系统集成在一起。
这样的集成使得用户的安装和升级变得更加容易,因为集成功能包括自动安装scikit-learn所需的依赖(numpy,scipy)。
以下提供一个操作系统(OS)的不完整列表和包含各自scikit-learn版本的python发行版。
Arch Linux
Arch Linux的包是作为Python的 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软件包被称为python3-scikit-learn
,它是专门为python 3版本所提供的,这是Fedora30中唯一可用的软件包。可以使用命令dnf
安装:
$ sudo dnf install python3-scikit-learn
NetBSD
可在pkgsrc-wip下载scikit-learn:
http://pkgsrc.se/math/py-scikit-learn
Mac OSX中的MacPorts
MacPorts软件包的名称为py<XY>-scikits-learn
,其中XY
表示Python版本。可以通过输入以下命令来安装它:
$ sudo port install py36-scikit-learn
所有支持Canopy 和 Anaconda 的平台
Canopy和Anaconda 除了提供在Windows,Mac OSX和Linux系统上的大量科学计算的python库之外,还提供了最新版本的scikit-learn。
Anaconda的免费发布版提供scikit-learn。
英特尔conda通道
英特尔维护着一个专用的conda通道,该通道可安装scikit-learn:
$ conda install -c intel scikit-learn
此版本的scikit-learn带有供选择的求解器(solvers)来替代一些常见估计器。这些求解器(solvers)来自DAAL C ++库,并针对多核Intel CPU进行了优化。
请注意,默认情况下未启用这些求解器(solvers),有关更多详细信息,请参阅 daal4py文档。
通过运行https://github.com/IntelPython/daal4py上的自动连续完整的scikit-learn测试套件程序,来检查标准scikit-learn求解器(solvers)的兼容性。
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
-
编辑该
LongPathsEnabled
属性的值并将其设置为1。 -
重新安装scikit-learn(忽略之前错误的安装):
```cmd pip install --exists-action=i scikit-learn ```
©2007-2019,scikit-learn开发人员(BSD许可证)。 显示此页面源码