将sklearn从0.14.1升级到0.16.1不起作用

时间:2015-08-31 17:03:59

标签: python scikit-learn

我需要将我的sklearn安装升级到0.14.1,因为我当前的版本没有agglomerative clustering

我下载了0.16.1的源代码,将其解压缩并在文件夹中以pip方式运行安装:

sudo pip install .

尽管在下面的摘录中抱怨丢失地图集

Installing collected packages: scikit-learn
  Found existing installation: scikit-learn 0.14.1
    Not uninstalling scikit-learn at /usr/lib/python2.7/dist-packages, owned by OS
  Running setup.py install for scikit-learn
    Partial import of sklearn during the build process.
    blas_opt_info:
    blas_mkl_info:
      libraries mkl,vml,guide not found in ['/usr/local/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu']
      NOT AVAILABLE

    openblas_info:
      libraries  not found in ['/usr/local/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu']
      NOT AVAILABLE

    atlas_blas_threads_info:
    Setting PTATLAS=ATLAS
      libraries ptf77blas,ptcblas,atlas not found in ['/usr/local/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu']
      NOT AVAILABLE

    atlas_blas_info:
      libraries f77blas,cblas,atlas not found in ['/usr/local/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu']
      NOT AVAILABLE

    /usr/lib/python2.7/dist-packages/numpy/distutils/system_info.py:1521: UserWarning:
        Atlas (http://math-atlas.sourceforge.net/) libraries not found.
        Directories to search for the libraries can be specified in the
        numpy/distutils/site.cfg file (section [atlas]) or by setting
        the ATLAS environment variable.
      warnings.warn(AtlasNotFoundError.__doc__)
    blas_info:
      FOUND:
        libraries = ['blas']
        library_dirs = ['/usr/lib']
        language = f77

      FOUND:
        libraries = ['blas']
        library_dirs = ['/usr/lib']
        define_macros = [('NO_ATLAS_INFO', 1)]
        language = f77

    sklearn/setup.py:73: UserWarning:
        Blas (http://www.netlib.org/blas/) libraries not found.
        Directories to search for the libraries can be specified in the
        numpy/distutils/site.cfg file (section [blas]) or by setting
        the BLAS environment variable.
      warnings.warn(BlasNotFoundError.__doc__)
    unifing config_cc, config, build_clib, build_ext, build commands --compiler options

安装显示成功消息:

Successfully installed scikit-learn
Cleaning up...

然而,在安装后检查scikit-learn版本显示0.14并且导入AgglomerativeClustering失败。你能帮我吗?

1 个答案:

答案 0 :(得分:2)

aptpip都是包管理器,可用于全局安装python包。经验法则:切勿将尝试安装到同一目录中的两个包管理器混合使用。

在这种情况下,pip非常聪明,不会因apt而中断安装,因此旧版本在更新后仍然存在。最简单的解决方法是首先执行apt-get remove python-sklearn

更好的方法是在安装软件包时严格区分aptpip。我建议不要使用sudo pip。在这种情况下,只允许apt全局安装python包。在本地,您可以直接或通过virtualenv使用anaconda来创建可以安装最新软件包的隔离环境。