Erro ao instalar o landsat-util no Linux


8

Estou tentando instalar o landsat-util no Ubuntu 16.04. Estou executando o Ubuntu como uma máquina virtual dentro do Windows. Estou usando uma instalação limpa (sem pacotes instalados) na esperança de evitar conflitos de dependência.

Tenho seguido as instruções nesta página , mas encontro erros sempre que tento executar este comando:

$: pip install landsat-util

Aqui está um trecho da saída:

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/

Eu tentei instalar o landsat-util em uma variedade de ambientes diferentes (Windows 10, Ubuntu 14.04, Ubuntu executando o Anaconda, Ubuntu executando o Miniconda), mas sempre encontro problemas semelhantes. Parece que o landsat-util depende de muitos outros pacotes que são difíceis de instalar.

Como faço para que esse utilitário funcione?


sudo apt instalar python-pycurl
user2856

Respostas:


8

gnutls.ho que é necessário está ausente no sistema de arquivos, mesmo se você instalar o libcurl4-gnutls-devque supostamente possui os arquivos de cabeçalhos para curl.

para corrigir esse erro, execute:

# apt-get install libgnutls28-dev

para adicionar o cabeçalho ausente e o pip finalmente para instalar o pycurl e o landsat-util

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.