安装旧版本的scikit-learn

时间:2020-01-29 19:20:16

标签: python windows scikit-learn pip conda

问题陈述

我正在尝试运行一些需要scikit-learn 18.0的旧python代码,但是我安装的当前版本是0.22,因此在运行代码时会收到警告/无效数据。


我尝试过的事情

我尝试同时在终端python -m pip install scikit-learn==0.18conda中安装特定版本,但没有一个起作用。我只能安装v 0.22。救命?谢谢。


终端错误

错误:scikit-learn的建筑车轮失败
运行setup.py clean进行scikit-learn
无法构建scikit学习
安装收集的软件包:scikit-learn
找到现有安装:scikit-learn 0.22.1
卸载scikit-learn-0.22.1:
成功卸载了scikit-learn-0.22.1
正在运行setup.py install进行scikit学习...错误
错误:命令错误,退出状态为1:

在conda环境中出错:

PackagesNotFoundError:以下软件包不可用 当前频道:
-scikit-learn == 0.18这是在创建并激活新环境之后

2 个答案:

答案 0 :(得分:8)

一次解决您的问题:

python -m pip install scikit-learn==0.18失败

这可能是由于scikit-learn==0.18,如果您check on pypi仅具有whl的python 3.5和2.7的Windows文件,因此pip下载了源代码发行版然后编译失败,可能是因为它不适用于更新的python版本

以下软件包当前频道不可用

之所以会这样,是因为默认的scikit-learn==18.0频道中根本不存在conda。在我的win64计算机上,我可以安装的最旧版本是19.0(您可以通过在conda search scikit-learn中键入cmd进行检查),因此很遗憾,无法使用默认的{{1 }}频道。有一个名为conda(通过anaconda website找到)的频道,它具有scikit-learn 18.0,因此可以使用以下命令进行安装:

free

还要确保python版本兼容,我将创建一个合适的环境:

conda install -c free scikit-learn 

答案 1 :(得分:0)

我对发生的事情有一个猜测,我想您会在这里发现自己的问题:

首先让我们检查系统中安装的python版本:

python --version                                                                                                                                                                              

> Python 3.8.0

如果您已经准备好设置和更新,则应该是您当前的python版本,我想这就是问题所在。您可以从其官方pypi分发页面here中查看“病态学习”版本。如果您检查文档,将会看到该软件包是针对2.7或3.5 python发行版的。

所以我想运行代码,最好的方法是使用virtualenvvirtualenvwrapper(我个人选择),您可以在其中创建干净的测试环境。

# On your terminal
# First let's check if python2 is installed

python2 --version                                                                                                                                                                             > Python 2.7.17

# and pip

python2 -m pip --version                                                                                                                                                                      
> pip 19.3 from /usr/lib/python2.7/site-packages/pip (python 2.7)

# Now create a virtual env using virtualenvwrapper and python2 as our main python

mkdir py2
mkvirtualenv -p python2 -a py2  py2 

# After that the python command will be binded to your python2 installation
python --version
> Python 2.7.17

# Now lets install sckit lib
python -m pip install scikit-learn==0.18

python -m pip freeze                                                                                                                                                                      
> DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
> scikit-learn==0.18

现在一切正常,您可以毫无问题地运行代码!

记住!!!! Python 2是deprecated,您应该更新代码以使用更新的python发行版。

另外,如果您不知道设置时间会花费很多时间,那么virtualenv是使用python的好习惯!