繁体   English   中英

安装旧版本的 scikit-learn

[英]Installing an old version of scikit-learn

问题陈述

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


我试过的

我尝试在终端中安装特定版本: python -m pip install scikit-learn==0.18conda ,但都没有奏效。 我只能安装v 0.22 帮助? 谢谢。


终端错误

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

通过 conda 环境出错:

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

一次解决您的问题:

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

这可能是由于scikit-learn==0.18 ,如果您检查 pypi只有适用于 Windows 的 python 3.5 和 2.7 的whl文件,因此pip下载源代码分发然后编译失败,可能是因为它没有t 使用较新的 python 版本

当前渠道不提供以下套餐

发生这种情况是因为scikit-learn==18.0在默认conda通道中根本不存在。 在我的 win64 机器上,我可以安装的最旧版本是19.0 (您可以通过在cmd键入conda search scikit-learn来检查),因此很遗憾无法使用默认的conda通道进行安装。 有一个名为free的频道(通过anaconda 网站找到),其中包含 scikit-learn 18.0,因此您可以安装:

conda install -c free scikit-learn 

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

conda create -n py35 -c free scikit-learn=0.18.0

我猜测它发生了什么,我想你会在这里找到你的答案:

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

python --version                                                                                                                                                                              

> Python 3.8.0

如果您准备好并更新,这应该是您当前的python 版本,我猜这就是问题所在。 你可以从这里的官方 pypi 分发页面查看sickit-learn 版本。 如果您查看文档,您会发现该软件包适用于 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 已弃用,您应该更新代码以使用更新的 Python 发行版。

此外,在使用 python 时,virtualenv 是一个很好的做法,如果您不知道,请花点时间进行设置!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM