问题陈述
我正在尝试运行一些需要scikit-learn 18.0
的旧python代码,但是我安装的当前版本是0.22
,因此在运行代码时会收到警告/无效数据。
我尝试过的事情
我尝试同时在终端python -m pip install scikit-learn==0.18
和conda
中安装特定版本,但没有一个起作用。我只能安装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这是在创建并激活新环境之后
答案 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发行版的。
所以我想运行代码,最好的方法是使用virtualenv或virtualenvwrapper(我个人选择),您可以在其中创建干净的测试环境。
# 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的好习惯!