如何在Anaconda中升级scikit-learn软件包

31
我正在尝试将scikit-learn软件包从0.16版本升级到0.17版本。为此,我尝试使用该网站的二进制文件:http://www.lfd.uci.edu/~gohlke/pythonlibs/#scikit-learn 。我的系统是Windows 7 x64位。我已经在本地下载了相应的软件包,并执行了以下命令,得到了“Requirement already up-to-date”的提示:
C:\Users\skumar>pip install --upgrade --use-wheel --no-index --find-links=../../
SOURCE/APPS scikit-learn
Ignoring indexes: https://pypi.python.org/simple
Requirement already up-to-date: scikit-learn in c:\anaconda3\lib\site-packages

然后我尝试从远程站点升级它,结果类似:

C:\Users\skumar>pip install --upgrade --use-wheel --no-index --trusted-host www.
lfd.uci.edu --find-links=http://www.lfd.uci.edu/~gohlke/pythonlibs/ scikit-learn

Ignoring indexes: https://pypi.python.org/simple
Requirement already up-to-date: scikit-learn in c:\anaconda3\lib\site-packages

远程站点有两个版本,即0.16和0.17。是否有办法在命令中指定版本?或者如何安装/升级wheel文件?

7个回答

42

Anaconda自带conda包管理器,旨在处理此类升级。首先更新conda本身以获取最新的软件包列表:

conda update conda

然后安装您想要的scikit-learn版本

conda install scikit-learn=0.17

所有必要的依赖项也将升级。如果您在Windows上使用conda时遇到问题,这里有一些相关的常见问题解答: http://docs.continuum.io/anaconda/faq


1
谢谢。我已经这样做了,但是当我执行“import sklearn”时,我得到了这个错误:DLL加载失败:拒绝访问。然后我通过命令conda remove scikit-learn卸载了sklearn并重新安装了它。我仍然遇到同样的错误。我正在使用Python 3.4.3 | Anaconda 2.3.0(64位)|。 - Sanoj
1
你可能在anaconda安装目录中遇到了权限问题:你应该确保用户拥有读/执行权限。 - jakevdp
2
conda activate environment_name followed by conda update scikit-learn - jakevdp

13

以下是我在Anaconda-Jupyter Notebook上使用scikit-learn成功的方法。

在安装在Google VM实例上的Ubuntu中将我的scikit-learn从0.19.1升级到0.19.2:

在终端中运行以下命令:

首先,使用以下命令检查现有可用软件包及其版本:

conda list    

它将在输出中显示不同软件包及其安装的版本。 在这里检查scikit-learn。 例如,对我来说,输出如下:

它将在输出中显示不同软件包及其安装的版本。在这里检查scikit-learn。例如,对我来说,输出是:

scikit-learn              0.19.1           py36hedc7406_0  

现在我想升级到0.19.2版本,这是2018年7月发布的最新版本。

conda config --append channels conda-forge
conda install scikit-learn=0.19.2

由于您正在尝试升级到0.17版本,请尝试以下命令:

conda install scikit-learn=0.17

现在通过使用以下命令检查scikit-learn的所需版本是否已正确安装:

conda list 

输出结果为:

scikit-learn              0.19.2          py36_blas_openblasha84fab4_201  [blas_openblas]  conda-forge

注意:如果使用Anaconda或Miniconda,请勿使用pip命令

我尝试了以下命令:

!conda update conda 
!pip install -U scikit-learn

安装过程中将会安装所需的包,并在conda list中显示,但如果您尝试导入该包,它将无法工作。

http://scikit-learn.org/stable/install.html网站上提到: 警告:升级或卸载使用Anaconda或conda安装的scikit-learn时,不应使用pip。


10

升级scikit-learn包需要按照以下步骤操作:

步骤1:打开终端(Ctrl+Alt+t)

步骤2:输入conda list命令,查看当前安装在你的conda环境中的所有软件包及其版本号。

步骤3:输入以下命令进行升级。

conda update scikit-learn

希望我的帮助能够有所裨益!

6

更新特定库 - scikit-learn

Anaconda(conda):

conda install scikit-learn

Pip安装软件包(pip):

pip install --upgrade scikit-learn

验证更新:

conda list scikit-learn

现在应该显示当前(和期望的)scikit-learn库的版本。

就我个人而言,我尝试使用conda命令更新scikit-learn库,它表现得好像正在安装最新版本,然后稍后发现(通过执行conda list scikit-learn命令),它与之前的版本相同,并没有更新(或识别更新)。当我使用pip命令时,它运行得非常好,正确地将scikit-learn库更新到最新版本!

希望这可以帮助您!

有关最新版本的更详细信息,请查看此处(请注意,这适用于scikit-learn库版本0.22):


5
我建议使用conda。Conda是Anaconda特定的包管理器。如果您想了解更多关于conda的信息,请阅读conda文档
在命令行中使用conda,下面的命令将安装scipy 0.17。
conda install scipy=0.17.0

当我执行这个操作并写入一个简单的语句import sklearn时,我遇到了这个错误:DLL加载失败,访问被拒绝。给出的原因是这样的:错误:在标记化输入时发生意外错误。以下回溯可能已损坏或无效。错误消息是:('多行字符串中的EOF',(1,2))。 - Sanoj
就像@jakedvp在评论中提到的那样,您需要确保为您的anaconda目录设置了正确的权限。要检查这一点,请转到包含anaconda的目录并键入“ls -l”。找到anaconda并查看最左侧列,其中定义了用户、组和其他人的权限。它应该看起来像这样“drwxr-xr-x”。您应该关心的是第一个字符,这些是您作为用户对该目录的权限。 - Austin A

1
我已成功将scikit-learn更新至0.24.1版本,操作系统为Windows 10 64位。以下是具体步骤:

  1. 启动Anaconda3图形界面

  2. 在左侧菜单中点击“环境”

  3. 在“base (root)”旁边,点击绿色箭头/三角形

  4. 选择“打开终端”

  5. 输入以下命令行:

    conda install scikit-learn==0.24.1

执行过程无误。


0

如果您在anaconda中使用Jupyter,在终端中执行conda update scikit-learn后,请关闭anaconda并重新启动,否则错误将再次发生。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接