Question

I just download the scikit-learn install package from https://pypi.python.org/pypi/scikit-learn/.
Before install the package, I install several dependent package using apt-get:

sudo apt-get install build-essential python-dev python-numpy python-setuptools python-scipy libatlas-dev

After I go to the install directory, I run the command python setup.py install. But receive the response error: could not create '/usr/local/lib/python2.7/dist-packages/sklearn': Permission denied

I found the problem is about the ATLAS and BLAS, but I am not familiar with them. So I need some help to solve it. I paste the details in the terminal:

Appending sklearn.__check_build configuration to sklearn
Ignoring attempt to set 'name' (from 'sklearn' to 'sklearn.__check_build')
Warning: Assuming default configuration (svm/tests/{setup_tests,setup}.py was not found)Appending sklearn.svm.tests configuration to sklearn.svm
Ignoring attempt to set 'name' (from 'sklearn.svm' to 'sklearn.svm.tests')
/usr/lib/python2.7/dist-packages/numpy/distutils/system_info.py:1423: 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__)
Appending sklearn.svm configuration to sklearn
Ignoring attempt to set 'name' (from 'sklearn' to 'sklearn.svm')
Appending sklearn.datasets configuration to sklearn
Ignoring attempt to set 'name' (from 'sklearn' to 'sklearn.datasets')
Warning: Assuming default configuration (./datasets/tests/setup_datasets/{setup_datasets/tests,setup}.py was not found)Appending sklearn.datasets/tests configuration to sklearn
Ignoring attempt to set 'name' (from 'sklearn' to 'sklearn.datasets/tests')
Appending sklearn.feature_extraction configuration to sklearn
Ignoring attempt to set 'name' (from 'sklearn' to 'sklearn.feature_extraction')
Warning: Assuming default configuration (./feature_extraction/tests/setup_feature_extraction/{setup_feature_extraction/tests,setup}.py was not found)Appending sklearn.feature_extraction/tests configuration to sklearn
Ignoring attempt to set 'name' (from 'sklearn' to 'sklearn.feature_extraction/tests')
Traceback (most recent call last):
  File "setup.py", line 91, in <module>
    setup(**configuration(top_path='').todict())
  File "setup.py", line 23, in configuration
    config.add_subpackage('cluster')
  File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 1002, in add_subpackage
    caller_level = 2)
  File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 971, in get_subpackage
    caller_level = caller_level + 1)
  File "/usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py", line 883, in _get_configuration_from_setup_py
    ('.py', 'U', 1))
  File "./cluster/setup.py", line 8, in <module>
    from sklearn._build_utils import get_blas_info
ImportError: No module named sklearn._build_utils
hujun@hujun-OptiPlex-790:~/下载/scikit-learn-0.14.1/sklearn$ cd ..
hujun@hujun-OptiPlex-790:~/下载/scikit-learn-0.14.1$ python setup.py install
Partial import of sklearn during the build process.
blas_opt_info:
blas_mkl_info:
  libraries mkl,vml,guide not found in /usr/local/lib
  libraries mkl,vml,guide not found in /usr/lib
  libraries mkl,vml,guide not found in /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
  libraries ptf77blas,ptcblas,atlas not found in /usr/lib
  libraries ptf77blas,ptcblas,atlas not found in /usr/lib/x86_64-linux-gnu
  NOT AVAILABLE

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

/usr/lib/python2.7/dist-packages/numpy/distutils/system_info.py:1423: 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:
  libraries blas not found in /usr/local/lib
  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:77: 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__)
running install
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building library "libsvm-skl" sources
building library "cblas" sources
building extension "sklearn.__check_build._check_build" sources
building extension "sklearn.svm.libsvm" sources
building extension "sklearn.svm.liblinear" sources
building extension "sklearn.svm.libsvm_sparse" sources
building extension "sklearn.datasets._svmlight_format" sources
building extension "sklearn.feature_extraction._hashing" sources
building extension "sklearn.cluster._hierarchical" sources
building extension "sklearn.cluster._k_means" sources
building extension "sklearn.ensemble._gradient_boosting" sources
building extension "sklearn.utils.sparsetools._min_spanning_tree" sources
building extension "sklearn.utils.sparsetools._traversal" sources
building extension "sklearn.utils.sparsetools._graph_tools" sources
building extension "sklearn.utils.arraybuilder" sources
building extension "sklearn.utils.sparsefuncs" sources
building extension "sklearn.utils.arrayfuncs" sources
building extension "sklearn.utils.murmurhash" sources
building extension "sklearn.utils.lgamma" sources
building extension "sklearn.utils.graph_shortest_path" sources
building extension "sklearn.utils.seq_dataset" sources
building extension "sklearn.utils.weight_vector" sources
building extension "sklearn.utils.random" sources
building extension "sklearn.utils._logistic_sigmoid" sources
building extension "sklearn.neighbors.ball_tree" sources
building extension "sklearn.neighbors.kd_tree" sources
building extension "sklearn.neighbors.dist_metrics" sources
building extension "sklearn.neighbors.typedefs" sources
building extension "sklearn.metrics.pairwise_fast" sources
building extension "sklearn.tree._tree" sources
building extension "sklearn.metrics/cluster.expected_mutual_info_fast" sources
building extension "sklearn._hmmc" sources
building extension "sklearn._isotonic" sources
building extension "sklearn.linear_model.cd_fast" sources
building extension "sklearn.linear_model.sgd_fast" sources
building extension "sklearn.utils.sparsetools._min_spanning_tree" sources
building extension "sklearn.utils.sparsetools._traversal" sources
building extension "sklearn.utils.sparsetools._graph_tools" sources
building extension "sklearn.utils.arraybuilder" sources
building extension "sklearn.utils.sparsefuncs" sources
building extension "sklearn.utils.arrayfuncs" sources
building extension "sklearn.utils.murmurhash" sources
building extension "sklearn.utils.lgamma" sources
building extension "sklearn.utils.graph_shortest_path" sources
building extension "sklearn.utils.seq_dataset" sources
building extension "sklearn.utils.weight_vector" sources
building extension "sklearn.utils.random" sources
building extension "sklearn.utils._logistic_sigmoid" sources
building data_files sources
build_src: building npy-pkg config files
running build_py
running build_clib
customize UnixCCompiler
customize UnixCCompiler using build_clib
running build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
resetting extension 'sklearn.svm.liblinear' language from 'f77' to 'c++'.
customize UnixCCompiler
customize UnixCCompiler using build_ext
customize GnuFCompiler
Could not locate executable g77
Could not locate executable f77
customize IntelFCompiler
Could not locate executable ifort
Could not locate executable ifc
customize LaheyFCompiler
Could not locate executable lf95
customize PGroupFCompiler
Could not locate executable pgf90
Could not locate executable pgf77
customize AbsoftFCompiler
Could not locate executable f90
customize NAGFCompiler
Could not locate executable f95
customize VastFCompiler
customize CompaqFCompiler
Could not locate executable fort
customize IntelItaniumFCompiler
Could not locate executable efort
Could not locate executable efc
customize IntelEM64TFCompiler
customize Gnu95FCompiler
Could not locate executable gfortran
customize G95FCompiler
Could not locate executable g95
customize PathScaleFCompiler
Could not locate executable pathf95
don't know how to compile Fortran code on platform 'posix'
warning: build_ext: f77_compiler=None is not available.

running scons
running install_lib
creating /usr/local/lib/python2.7/dist-packages/sklearn
error: could not create '/usr/local/lib/python2.7/dist-packages/sklearn': Permission denied
Était-ce utile?

La solution

The problem is not about ATLAS and BLAS, it'a about you need to be super user to write into /usr directory. Try

sudo  python setup.py install

An alternative (and probably easier) way is to install direktly from the ubuntu repositories:

sudo apt-get install python-sklearn
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top