我需要将我的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失败。你能帮我吗?
答案 0 :(得分:2)
apt
和pip
都是包管理器,可用于全局安装python包。经验法则:切勿将尝试安装到同一目录中的两个包管理器混合使用。
在这种情况下,pip
非常聪明,不会因apt
而中断安装,因此旧版本在更新后仍然存在。最简单的解决方法是首先执行apt-get remove python-sklearn
。
更好的方法是在安装软件包时严格区分apt
和pip
。我建议不要使用sudo pip
。在这种情况下,只允许apt
全局安装python包。在本地,您可以直接或通过virtualenv
使用anaconda
来创建可以安装最新软件包的隔离环境。