Kesalahan menginstal landsat-util di Linux

8

Saya mencoba menginstal landsat-util di Ubuntu 16.04. Saya menjalankan Ubuntu sebagai mesin virtual di dalam Windows. Saya menggunakan instalasi bersih (tanpa paket diinstal) dengan harapan menghindari konflik ketergantungan.

Saya telah mengikuti instruksi pada halaman ini , tetapi saya menemukan kesalahan setiap kali ketika saya mencoba menjalankan perintah ini:

$: pip install landsat-util

Berikut kutipan dari output:

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/

Saya sudah mencoba menginstal landsat-util di berbagai lingkungan yang berbeda (Windows 10, Ubuntu 14.04, Ubuntu menjalankan Anaconda, Ubuntu menjalankan Miniconda), tetapi saya mengalami masalah yang sama setiap saat. Sepertinya landsat-util tergantung pada banyak paket lain yang rewel untuk diinstal.

Bagaimana saya bisa mendapatkan utilitas ini berfungsi?

Jim-the-reporter
sumber
sudo apt install python-pycurl
user2856

Jawaban:

8

gnutls.hyang diperlukan hilang dari sistem file bahkan jika Anda menginstal libcurl4-gnutls-devyang seharusnya memiliki file header untuk ikal.

untuk memperbaiki untuk menjalankan kesalahan itu:

# apt-get install libgnutls28-dev

untuk menambahkan header yang hilang dan pip akhirnya untuk menginstal pycurl dan landsat-util

Nickes
sumber