# python h5py module install in Paraview?

**URL:** https://discourse.paraview.org/t/python-h5py-module-install-in-paraview/132
**Category:** ParaView Support
**Created:** [June 8, 2018, 6:07am UTC](https://discourse.paraview.org/t/python-h5py-module-install-in-paraview/132 "2018-06-08T06:07:08Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![IanDavid](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/i/8dc957/32.png) [@IanDavid](https://discourse.paraview.org/u/IanDavid)
#### Post date: [June 8, 2018, 6:07am UTC](https://discourse.paraview.org/t/python-h5py-module-install-in-paraview/132/1 "2018-06-08T06:07:09Z")

</div>

Hello  
I am trying to implement a programmable filter in Paraview that requires the python h5py module. The python bundled with Paraview does not include that module, and I cannot find an easy way to install it there myself. Any ideas would be much appreciated!  
Many thanks  
Ian

---

<div class="post-metadata">

### Author: ![Daan\_van\_Vugt](https://discourse.paraview.org/user_avatar/discourse.paraview.org/daan_van_vugt/32/51_2.png) [@Daan\_van\_Vugt](https://discourse.paraview.org/u/Daan_van_Vugt)
#### Post date: [June 8, 2018, 6:38am UTC](https://discourse.paraview.org/t/python-h5py-module-install-in-paraview/132/2 "2018-06-08T06:38:42Z")

</div>

Hi Ian,

I have done exactly this a few times before. It is a bit tricky since the python version (UCS2) included with the paraview bundle is different from most system pythons.

If you want to build a h5py compatible with the paraview bundle you can use pyenv and install the correct hdf5 locally (you need the header files to compile h5py).  
You can find some instructions on [https://github.com/Exteris/paraview-python-file-reader](https://github.com/Exteris/paraview-python-file-reader).

Let me copy them here for completeness. You might need to change the version numbers depending on your paraview version.

```
# run this script in ParaView-5.4.1-Qt5-OpenGL2-MPI-Linux-64bit or equivalent or set PV_DIR
export PV_DIR=$(pwd)

# Install python2 with ucs2 https://stackoverflow.com/questions/38928942/build-python-as-ucs-4-via-pyenv
export PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2
pyenv install -v 2.7.11
pyenv local 2.7.11

# Install pip
wget https://bootstrap.pypa.io/get-pip.py && ~/.pyenv/shims/python get-pip.py

# Install the same numpy paraview uses (as of writing)
~/.pyenv/versions/2.7.11/bin/pip install --user numpy==1.8.1

# Install hdf5 of the same version as paraview (not enough files included in binary paraview distribution to build against)
# Paraview 5.2 - 5.4.1 are using 1.8.13, I have not checked the rest
# We then take the install summary 
cd ~
wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/hdf5-1.8.13/src/hdf5-1.8.13.tar.bz2
tar jxf hdf5-1.8.13.tar.bz2
cd hdf5-1.8.13
./configure
make -j
make install # in ~/hdf5-1.8.13/hdf5

# Install h5py against the paraview hdf5 libraries
export HDF5_DIR=~/hdf5-1.8.13/hdf5
~/.pyenv/versions/2.7.11/bin/pip install --no-binary=h5py --user h5py

# Copy it to your paraview folder to make a portable version, or leave it in your local site-packages
mv ~/.local/lib/python2.7/site-packages/h5py $PV_DIR/lib/python2.7/site-packages/
# Create symlinks to the paraview library files (since we built against slightly different hdf5 the name is different)
cd $PV_DIR/lib/paraview-*
ln -s libhdf5.so.8.0.2 libhdf5.so.8
ln -s libhdf5_hl.so.8.0.2 libhdf5_hl.so.8

# Clean up
rm -r ~/hdf5-1.8.13.tar.bz2 ~/hdf5-1.8.13

```

Best of luck,  
Daan

---

<div class="post-metadata">

### Author: ![IanDavid](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/i/8dc957/32.png) [@IanDavid](https://discourse.paraview.org/u/IanDavid)
#### Post date: [June 9, 2018, 12:24am UTC](https://discourse.paraview.org/t/python-h5py-module-install-in-paraview/132/3 "2018-06-09T00:24:16Z")

</div>

Many thanks for pointing me in the right direction, Daan. I will have a go at this over the weekend and report back!  
Cheers  
Ian
