web-dev-qa-db-fra.com

Comment installer scipy avec pip3?

J'essaie d'installer scipy pour python3.x et j'essaie de l'installer avec pip3

Sudo pip3 install scipy

Mais j'ai les erreurs suivantes:

Downloading/unpacking scipy
  Running setup.py (path:/tmp/pip_build_root/scipy/setup.py) Egg_info for package scipy

    warning: no previously-included files matching '*_subr_*.f' found under directory 'scipy/linalg/src/id_dist/src'
    no previously-included directories found matching 'scipy/special/tests/data/boost'
    no previously-included directories found matching 'scipy/special/tests/data/gsl'
    no previously-included directories found matching 'doc/build'
    no previously-included directories found matching 'doc/source/generated'
    warning: no previously-included files matching '*.pyc' found anywhere in distribution
    warning: no previously-included files matching '*~' found anywhere in distribution
    warning: no previously-included files matching '*.bak' found anywhere in distribution
    warning: no previously-included files matching '*.swp' found anywhere in distribution
    warning: no previously-included files matching '*.pyo' found anywhere in distribution
Installing collected packages: scipy
  Running setup.py install for scipy
    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 openblas 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/atlas-base', '/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/atlas-base', '/usr/lib', '/usr/lib/x86_64-linux-gnu']
      NOT AVAILABLE

    blas_info:
      FOUND:
        language = f77
        library_dirs = ['/usr/lib']
        libraries = ['blas']

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

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

    lapack_mkl_info:
    mkl_info:
      libraries mkl,vml,guide not found in ['/usr/local/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu']
      NOT AVAILABLE

      NOT AVAILABLE

    atlas_threads_info:
    Setting PTATLAS=ATLAS
      libraries ptf77blas,ptcblas,atlas not found in /usr/local/lib
      libraries lapack_atlas not found in /usr/local/lib
      libraries ptf77blas,ptcblas,atlas not found in /usr/lib/atlas-base
      libraries lapack_atlas not found in /usr/lib/atlas-base
      libraries ptf77blas,ptcblas,atlas not found in /usr/lib
      libraries lapack_atlas not found in /usr/lib
      libraries ptf77blas,ptcblas,atlas not found in /usr/lib/x86_64-linux-gnu
      libraries lapack_atlas not found in /usr/lib/x86_64-linux-gnu
    <class 'numpy.distutils.system_info.atlas_threads_info'>
      NOT AVAILABLE

    atlas_info:
      libraries f77blas,cblas,atlas not found in /usr/local/lib
      libraries lapack_atlas not found in /usr/local/lib
      libraries f77blas,cblas,atlas not found in /usr/lib/atlas-base
      libraries lapack_atlas not found in /usr/lib/atlas-base
      libraries f77blas,cblas,atlas not found in /usr/lib
      libraries lapack_atlas not found in /usr/lib
      libraries f77blas,cblas,atlas not found in /usr/lib/x86_64-linux-gnu
      libraries lapack_atlas not found in /usr/lib/x86_64-linux-gnu
    <class 'numpy.distutils.system_info.atlas_info'>
      NOT AVAILABLE

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

    lapack_src_info:
      NOT AVAILABLE

    /usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py:1526: 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__)
    /usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py:1432: 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__)
    /usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py:1443: UserWarning:
        Lapack (http://www.netlib.org/lapack/) libraries not found.
        Directories to search for the libraries can be specified in the
        numpy/distutils/site.cfg file (section [lapack]) or by setting
        the LAPACK environment variable.
      warnings.warn(LapackNotFoundError.__doc__)
    /usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py:1446: UserWarning:
        Lapack (http://www.netlib.org/lapack/) sources not found.
        Directories to search for the sources can be specified in the
        numpy/distutils/site.cfg file (section [lapack_src]) or by setting
        the LAPACK_SRC environment variable.
      warnings.warn(LapackSrcNotFoundError.__doc__)
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip_build_root/scipy/setup.py", line 237, in <module>
        setup_package()
      File "/tmp/pip_build_root/scipy/setup.py", line 234, in setup_package
        setup(**metadata)
      File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/core.py", line 135, in setup
        config = configuration()
      File "/tmp/pip_build_root/scipy/setup.py", line 173, in configuration
        config.add_subpackage('scipy')
      File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 966, in add_subpackage
        caller_level = 2)
      File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 935, in get_subpackage
        caller_level = caller_level + 1)
      File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 872, in _get_configuration_from_setup_py
        config = setup_module.configuration(*args)
      File "scipy/setup.py", line 13, in configuration
        config.add_subpackage('interpolate')
      File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 966, in add_subpackage
        caller_level = 2)
      File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 935, in get_subpackage
        caller_level = caller_level + 1)
      File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 872, in _get_configuration_from_setup_py
        config = setup_module.configuration(*args)
      File "scipy/interpolate/setup.py", line 11, in configuration
        lapack_opt = get_info('lapack_opt', notfound_action=2)
      File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py", line 356, in get_info
        return cl().get_info(notfound_action)
      File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py", line 514, in get_info
        raise self.notfounderror(self.notfounderror.__doc__)
    numpy.distutils.system_info.LapackNotFoundError:
        Lapack (http://www.netlib.org/lapack/) libraries not found.
        Directories to search for the libraries can be specified in the
        numpy/distutils/site.cfg file (section [lapack]) or by setting
        the LAPACK environment variable.
    Complete output from command /usr/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/scipy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-w234i8a7-record/install-record.txt --single-version-externally-managed --compile:
    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 openblas 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/atlas-base', '/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/atlas-base', '/usr/lib', '/usr/lib/x86_64-linux-gnu']

  NOT AVAILABLE



blas_info:

  FOUND:

    language = f77

    library_dirs = ['/usr/lib']

    libraries = ['blas']



  FOUND:

    language = f77

    library_dirs = ['/usr/lib']

    libraries = ['blas']

    define_macros = [('NO_ATLAS_INFO', 1)]



lapack_opt_info:

openblas_lapack_info:

  libraries openblas not found in ['/usr/local/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu']

  NOT AVAILABLE



lapack_mkl_info:

mkl_info:

  libraries mkl,vml,guide not found in ['/usr/local/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu']

  NOT AVAILABLE



  NOT AVAILABLE



atlas_threads_info:

Setting PTATLAS=ATLAS

  libraries ptf77blas,ptcblas,atlas not found in /usr/local/lib

  libraries lapack_atlas not found in /usr/local/lib

  libraries ptf77blas,ptcblas,atlas not found in /usr/lib/atlas-base

  libraries lapack_atlas not found in /usr/lib/atlas-base

  libraries ptf77blas,ptcblas,atlas not found in /usr/lib

  libraries lapack_atlas not found in /usr/lib

  libraries ptf77blas,ptcblas,atlas not found in /usr/lib/x86_64-linux-gnu

  libraries lapack_atlas not found in /usr/lib/x86_64-linux-gnu

<class 'numpy.distutils.system_info.atlas_threads_info'>

  NOT AVAILABLE



atlas_info:

  libraries f77blas,cblas,atlas not found in /usr/local/lib

  libraries lapack_atlas not found in /usr/local/lib

  libraries f77blas,cblas,atlas not found in /usr/lib/atlas-base

  libraries lapack_atlas not found in /usr/lib/atlas-base

  libraries f77blas,cblas,atlas not found in /usr/lib

  libraries lapack_atlas not found in /usr/lib

  libraries f77blas,cblas,atlas not found in /usr/lib/x86_64-linux-gnu

  libraries lapack_atlas not found in /usr/lib/x86_64-linux-gnu

<class 'numpy.distutils.system_info.atlas_info'>

  NOT AVAILABLE



lapack_info:

  libraries lapack not found in ['/usr/local/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu']

  NOT AVAILABLE



lapack_src_info:

  NOT AVAILABLE



/usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py:1526: 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__)

/usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py:1432: 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__)

/usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py:1443: UserWarning:

    Lapack (http://www.netlib.org/lapack/) libraries not found.

    Directories to search for the libraries can be specified in the

    numpy/distutils/site.cfg file (section [lapack]) or by setting

    the LAPACK environment variable.

  warnings.warn(LapackNotFoundError.__doc__)

/usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py:1446: UserWarning:

    Lapack (http://www.netlib.org/lapack/) sources not found.

    Directories to search for the sources can be specified in the

    numpy/distutils/site.cfg file (section [lapack_src]) or by setting

    the LAPACK_SRC environment variable.

  warnings.warn(LapackSrcNotFoundError.__doc__)

Traceback (most recent call last):

  File "<string>", line 1, in <module>

  File "/tmp/pip_build_root/scipy/setup.py", line 237, in <module>

    setup_package()

  File "/tmp/pip_build_root/scipy/setup.py", line 234, in setup_package

    setup(**metadata)

  File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/core.py", line 135, in setup

    config = configuration()

  File "/tmp/pip_build_root/scipy/setup.py", line 173, in configuration

    config.add_subpackage('scipy')

  File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 966, in add_subpackage

    caller_level = 2)

  File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 935, in get_subpackage

    caller_level = caller_level + 1)

  File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 872, in _get_configuration_from_setup_py

    config = setup_module.configuration(*args)

  File "scipy/setup.py", line 13, in configuration

    config.add_subpackage('interpolate')

  File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 966, in add_subpackage

    caller_level = 2)

  File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 935, in get_subpackage

    caller_level = caller_level + 1)

  File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 872, in _get_configuration_from_setup_py

    config = setup_module.configuration(*args)

  File "scipy/interpolate/setup.py", line 11, in configuration

    lapack_opt = get_info('lapack_opt', notfound_action=2)

  File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py", line 356, in get_info

    return cl().get_info(notfound_action)

  File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py", line 514, in get_info

    raise self.notfounderror(self.notfounderror.__doc__)

numpy.distutils.system_info.LapackNotFoundError:

    Lapack (http://www.netlib.org/lapack/) libraries not found.

    Directories to search for the libraries can be specified in the

    numpy/distutils/site.cfg file (section [lapack]) or by setting

    the LAPACK environment variable.

----------------------------------------
Cleaning up...
Command /usr/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/scipy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-w234i8a7-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/scipy
Storing debug log for failure in /home/alvas/.pip/pip.log

Comment installer scipy avec pip3? S'il n'y a pas de solution avec pip3, comment puis-je installer scipy pour python3.x?

6
alvas

Cela vous dit exactement ce que vous devez faire: installez toutes ces dépendances de construction.

Avant d’arriver, j’ai déjà dit à quelques reprises que je ne conseillais généralement pas aux utilisateurs pip (ou pip3) d’installer des packages dans leur installation globale Python. pip et apt-get sont complètement inconscients l'un de l'autre. Les fichiers peuvent être écrasés ou supprimés indûment et parce qu'une grande partie de votre système d'exploitation dépend de votre environnement Python, qu'il n'est pas recommandé de le manipuler.

Je recommanderais donc soit d’utiliser virtualenv (où tout est séparé du système), soit d’utiliser uniquement des packages déployés par le référentiel.

Cela dit, la raison technique pour laquelle vous ne pouvez pas installer est parce que SciPy a besoin de compiler une quantité de choses et qu'il a des dépendances externes pour beaucoup de cela. Celles-ci doivent être remplies. Vous pouvez le faire manuellement (en lisant l'erreur) ou, dans le cas où il existe une version du référentiel, vous pouvez demander à Apt d'installer les dépendances de construction:

Sudo apt-get build-dep python3-scipy

Et cela installera un nombre métrique de paquets. Notez que certaines de ces choses seront probablement des choses que vous avez déjà vues avec pip. Je vois beaucoup de choses numpy. Il faut se méfier.

Et vous auriez toujours besoin de suivre un processus similaire si vous construisez un virtualenv mais je déconseille d'utiliser apt pour répondre à vos dépendances car vous aurez probablement des versions différentes de ces dépendances. Ce n'est pas une recette de construction saine.

En bref, l'utilisation de la version repo est la plus simple.

8
Oli