सवाल उबंटू सर्वर पर h5py इंस्टॉल करना


मैं एक उबंटू सर्वर पर h5py स्थापित कर रहा था। हालांकि ऐसा लगता है कि एक त्रुटि वापस आती है h5py.h नहीं मिला। जब मैं इसका उपयोग कर इसे इंस्टॉल करता हूं तो यह वही त्रुटि संदेश देता है pip या setup.py फ़ाइल। मुझे यहां क्या समझ नहीं आ रहा है?

मेरे पास Numpy संस्करण 1.8.1 है, जो 1.6 या उससे ऊपर के आवश्यक संस्करण से अधिक है।

पूरा आउटपुट निम्नानुसार है:

van@Hulk:~/h5py-2.3.1⟫ sudo python setup.py install
libhdf5.so: cannot open shared object file: No such file or directory
HDF5 autodetection failed; building for 1.8.4+
running install
running bdist_egg
running egg_info
writing h5py.egg-info/PKG-INFO
writing top-level names to h5py.egg-info/top_level.txt
writing dependency_links to h5py.egg-info/dependency_links.txt
reading manifest file 'h5py.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*.c' under directory 'win_include'
warning: no files found matching '*.h' under directory 'win_include'
writing manifest file 'h5py.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/h5py
copying h5py/ipy_completer.py -> build/lib.linux-x86_64-2.7/h5py
copying h5py/__init__.py -> build/lib.linux-x86_64-2.7/h5py
copying h5py/version.py -> build/lib.linux-x86_64-2.7/h5py
copying h5py/highlevel.py -> build/lib.linux-x86_64-2.7/h5py
creating build/lib.linux-x86_64-2.7/h5py/_hl
copying h5py/_hl/group.py -> build/lib.linux-x86_64-2.7/h5py/_hl
copying h5py/_hl/files.py -> build/lib.linux-x86_64-2.7/h5py/_hl
copying h5py/_hl/selections.py -> build/lib.linux-x86_64-2.7/h5py/_hl
copying h5py/_hl/__init__.py -> build/lib.linux-x86_64-2.7/h5py/_hl
copying h5py/_hl/filters.py -> build/lib.linux-x86_64-2.7/h5py/_hl
copying h5py/_hl/base.py -> build/lib.linux-x86_64-2.7/h5py/_hl
copying h5py/_hl/dims.py -> build/lib.linux-x86_64-2.7/h5py/_hl
copying h5py/_hl/datatype.py -> build/lib.linux-x86_64-2.7/h5py/_hl
copying h5py/_hl/dataset.py -> build/lib.linux-x86_64-2.7/h5py/_hl
copying h5py/_hl/selections2.py -> build/lib.linux-x86_64-2.7/h5py/_hl
copying h5py/_hl/attrs.py -> build/lib.linux-x86_64-2.7/h5py/_hl
creating build/lib.linux-x86_64-2.7/h5py/tests
copying h5py/tests/test_selections.py -> build/lib.linux-x86_64-2.7/h5py/tests
copying h5py/tests/test_group.py -> build/lib.linux-x86_64-2.7/h5py/tests
copying h5py/tests/test_h5.py -> build/lib.linux-x86_64-2.7/h5py/tests
copying h5py/tests/test_attrs.py -> build/lib.linux-x86_64-2.7/h5py/tests
copying h5py/tests/test_objects.py -> build/lib.linux-x86_64-2.7/h5py/tests
copying h5py/tests/test_slicing.py -> build/lib.linux-x86_64-2.7/h5py/tests
copying h5py/tests/test_h5t.py -> build/lib.linux-x86_64-2.7/h5py/tests
copying h5py/tests/test_datatype.py -> build/lib.linux-x86_64-2.7/h5py/tests
copying h5py/tests/__init__.py -> build/lib.linux-x86_64-2.7/h5py/tests
copying h5py/tests/test_dimension_scales.py -> build/lib.linux-x86_64-2.7/h5py/tests
copying h5py/tests/test_base.py -> build/lib.linux-x86_64-2.7/h5py/tests
copying h5py/tests/test_dataset.py -> build/lib.linux-x86_64-2.7/h5py/tests
copying h5py/tests/test_file.py -> build/lib.linux-x86_64-2.7/h5py/tests
copying h5py/tests/test_h5p.py -> build/lib.linux-x86_64-2.7/h5py/tests
copying h5py/tests/test_attrs_data.py -> build/lib.linux-x86_64-2.7/h5py/tests
copying h5py/tests/common.py -> build/lib.linux-x86_64-2.7/h5py/tests
copying h5py/tests/test_h5f.py -> build/lib.linux-x86_64-2.7/h5py/tests
running build_ext
skipping 'h5py/defs.c' Cython extension (up-to-date)
building 'h5py.defs' extension
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/h5py
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DH5_USE_16_API -I/home/govinda/h5py-2.3.1/lzf -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c h5py/defs.c -o build/temp.linux-x86_64-2.7/h5py/defs.o
In file included from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1761:0,
                 from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarrayobject.h:17,
                 from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/arrayobject.h:4,
                 from h5py/api_compat.h:26,
                 from h5py/defs.c:342:
/usr/lib/python2.7/dist-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
 #warning "Using deprecated NumPy API, disable it by " \
  ^
In file included from h5py/defs.c:342:0:
h5py/api_compat.h:27:18: fatal error: hdf5.h: No such file or directory
 #include "hdf5.h"
                  ^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

44
2017-07-14 20:03


मूल




जवाब:


आपको स्थापित करने की जरूरत है libhdf5-dev आवश्यक हेडर फाइलें प्राप्त करने के लिए। बस दौडो

sudo apt-get install libhdf5-dev

और इसे स्वचालित रूप से और इसकी निर्भरताओं को स्थापित करना चाहिए।

NumPy चेतावनी के बारे में चिंता न करें, इसका मतलब यह है कि पैकेज डेवलपर्स एपीआई के पुराने संस्करण का उपयोग कर रहे हैं, लेकिन सबकुछ अभी भी काम करेगा।


77
2017-07-14 20:33



इस उत्तर के लिए बहुत बहुत धन्यवाद। - Matt O'Brien
मुझे भी चाहिए sudo apt-get install cython इसके लिए उबंटू 14.04 पर काम करना है। - Hooked
मेरे पास 14.04 है, साइथन स्थापित नहीं है, लेकिन यह केवल libhdf5-dev को स्थापित करने के बाद काम करता है। - szedjani
उत्तर के लिए धन्यवाद, यह उबंटू 14.04 का उपयोग कर काम करता है sudo pip3 install h5py - Nicole Finnie


आप उपयोग कर सकते हैं अजगर-h5py

sudo apt-get python-h5py स्थापित करें

और फिर अपनी पायथन फ़ाइल में कोशिश करें:

आयात h5py


21
2017-10-14 17:05





मेरे मामले में (उबंटू 15.04) स्थापित करना libhdf5-dev पर्याप्त नहीं था

मुझे दौड़ना पड़ा:

HDF5_DIR=/usr/lib/x86_64-linux-gnu/hdf5/serial/ pip install h5py

इसे काम करने के लिए।


13
2017-10-09 19:19



उबंटू 16 के लिए भी काम करता है। - Albert


आमतौर पर उपयोग करने के लिए बेहतर है pip इसे मैन्युअल रूप से स्थापित करने के बजाय, क्योंकि पाइप सभी पायथन निर्भरताओं को भी इंस्टॉल करेगा। हालांकि आपको अभी भी अपनी हेडर फाइलों की आवश्यकता होगी।

इसलिए:

sudo apt-get install libhdf5-dev
pip install h5py

3
2017-08-28 13:59