Erreur lors de l'installation de Landsat-Util sous Linux

8

J'essaie d'installer landsat-util sur Ubuntu 16.04. J'utilise Ubuntu en tant que machine virtuelle à l'intérieur de Windows. J'utilise une installation propre (sans aucun package installé) dans l'espoir d'éviter tout conflit de dépendance.

J'ai suivi les instructions sur cette page , mais je rencontre des erreurs à chaque fois lorsque j'essaie d'exécuter cette commande:

$: pip install landsat-util

Voici un extrait de la sortie:

Running setup.py bdist_wheel for pycurl ... error
  Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-oH9kCk/pycurl/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /tmp/tmpgxvEEBpip-wheel- --python-tag cp27:
  Using curl-config (libcurl 7.47.0)
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-2.7
  creating build/lib.linux-x86_64-2.7/curl
  copying python/curl/__init__.py -> build/lib.linux-x86_64-2.7/curl
  running build_ext
  building 'pycurl' extension
  creating build/temp.linux-x86_64-2.7
  creating build/temp.linux-x86_64-2.7/src
  x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -DPYCURL_VERSION="7.43.0" -DHAVE_CURL_GNUTLS=1 -DHAVE_CURL_SSL=1 -I/usr/include/python2.7 -c src/docstrings.c -o build/temp.linux-x86_64-2.7/src/docstrings.o
  In file included from src/docstrings.c:4:0:
  src/pycurl.h:173:30: fatal error: gnutls/gnutls.h: No such file or directory
  compilation terminated.
  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for pycurl
  Running setup.py clean for pycurl
  Running setup.py bdist_wheel for toolz ... done
  Stored in directory: /home/jim/.cache/pip/wheels/b0/84/bf/7089262387e8ea60bdefb1fdb84d2ee99427f6d09c9c7ba37d
Successfully built landsat-util usgs termcolor rasterio homura polyline matplotlib click requests-futures click-plugins humanize toolz
Failed to build pycurl
Installing collected packages: click, requests, futures, requests-futures, usgs, six, python-dateutil, numpy, termcolor, affine, cligj, pyparsing, snuggs, click-plugins, enum34, rasterio, scipy, toolz, dask, pytz, cycler, matplotlib, pillow, decorator, networkx, scikit-image, humanize, pycurl, homura, boto, polyline, ratelim, geocoder, landsat-util
  Running setup.py install for pycurl ... error
    Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-oH9kCk/pycurl/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-pvaIdU-record/install-record.txt --single-version-externally-managed --compile --user --prefix=:
    Using curl-config (libcurl 7.47.0)
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-2.7
    creating build/lib.linux-x86_64-2.7/curl
    copying python/curl/__init__.py -> build/lib.linux-x86_64-2.7/curl
    running build_ext
    building 'pycurl' extension
    creating build/temp.linux-x86_64-2.7
    creating build/temp.linux-x86_64-2.7/src
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -DPYCURL_VERSION="7.43.0" -DHAVE_CURL_GNUTLS=1 -DHAVE_CURL_SSL=1 -I/usr/include/python2.7 -c src/docstrings.c -o build/temp.linux-x86_64-2.7/src/docstrings.o
    In file included from src/docstrings.c:4:0:
    src/pycurl.h:173:30: fatal error: gnutls/gnutls.h: No such file or directory
    compilation terminated.
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

    ----------------------------------------
Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-oH9kCk/pycurl/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-pvaIdU-record/install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /tmp/pip-build-oH9kCk/pycurl/

J'ai essayé d'installer landsat-util dans une variété d'environnements différents (Windows 10, Ubuntu 14.04, Ubuntu exécutant Anaconda, Ubuntu exécutant Miniconda), mais je rencontre à chaque fois des problèmes similaires. Il semble que landsat-util dépende de beaucoup d'autres packages difficiles à installer.

Comment puis-je faire fonctionner cet utilitaire?

Jim-le-reporter
la source
sudo apt install python-pycurl
user2856

Réponses:

8

gnutls.hce qui est requis est absent du système de fichiers même si vous installez libcurl4-gnutls-devqui aurait les fichiers d'en-tête pour curl.

pour corriger cette erreur, exécutez:

# apt-get install libgnutls28-dev

pour ajouter l'en-tête manquant et pip pour enfin installer pycurl et landsat-util

nickves
la source