Bug#623757: pymca: missing python-h5py dependency

Picca Frédéric-Emmanuel frederic-emmanuel.picca at synchrotron-soleil.Fr
Wed May 11 13:22:40 UTC 2011


Le Mon, 9 May 2011 17:16:42 +0200,
Teemu Ikonen <tpikonen at gmail.com> a écrit :

Hello Teemu

> Could you elaborate on the error? I don't see sphinx related lines on
> the build log, do you get these when building your software?

In fact this is with this the taurus package [1] (work in progress)
This package use the HDFViewer and if your do not Build-dep on python-h5py your have
error message when sphinx try to load the HDFViewer of PyMCA during the taurus build.

if you look at the PyMCA code you can find plenty of h5py import

grisette:/tmp/pymca/PyMca# rgrep h5py *
ArraySave.py:    import h5py
ArraySave.py:        raise IOError, 'h5py does not seem to be installed in your system'
ArraySave.py:        raise IOError, 'h5py does not seem to be installed in your system'
ArraySave.py:            g = h5py.h5g.open(hdf.fid, '/')
ArraySave.py:            g.link('/data/NXdata/data', '/data/data', h5py.h5g.LINK_HARD)
ArraySave.py:        hdf = h5py.File(filename, 'a')
ArraySave.py:        hdf = h5py.File(filename, 'a')
EDFStack.py:    import h5py
HDF5Info.py:        import h5py
HDF5Info.py:        h=h5py.File(sys.argv[1])
HDF5Info.py:                                   sorted_with=NexusDataSource.h5py_sorting)        
HDF5Stack1D.py:import h5py
HDF5Stack1D.py:            if isinstance(tmpHdf["/"+key], h5py.Group):
McaAdvancedFitBatch.py:    import h5py
McaAdvancedFitBatch.py:                if h5py.is_hdf5(inputfile):
NexusDataSource.py:import h5py
NexusDataSource.py:def h5py_sorting(object_list):
NexusDataSource.py:                           sorted_with=h5py_sorting)
NexusDataSource.py:                                           sorted_with=h5py_sorting)
NexusDataSource.py:                                           sorted_with=h5py_sorting)
object3d/Object3D/Object3DPlugins/ChimeraStack.py:import h5py
object3d/Object3D/Object3DPlugins/ChimeraStack.py:    f = h5py.File(filename)
object3d/Object3D/Object3DPlugins/ChimeraStack.py:        f = h5py.File(filename)
phynx/group.py:import h5py
phynx/group.py:class Group(_PhynxProperties, h5py.Group):
phynx/group.py:    # TODO: remove for h5py-1.2:
phynx/group.py:        h5py.Group.__init__(self, parent_object, name, create=create)
phynx/group.py:        if isinstance(item, h5py.Dataset):
phynx/base.py:import h5py
phynx/base.py:    if LooseVersion(h5py.version.version) >= LooseVersion('1.3.0'):
phynx/base.py:            fid = h5py.h5i.get_file_id(self.id)
phynx/file.py:import h5py
phynx/file.py:class File(Group, h5py.File):
phynx/file.py:        h5py.File.__init__(self, name, mode, **kwargs)
phynx/file.py:                self.attrs['HDF5_version'] = h5py.version.hdf5_version
phynx/file.py:                self.attrs['HDF5_API_version'] = h5py.version.api_version
phynx/file.py:                self.attrs['h5py_version'] = h5py.version.version
phynx/exceptions.py:from h5py import H5Error
phynx/dataset.py:import h5py
phynx/dataset.py:class Dataset(_PhynxProperties, h5py.Dataset):
phynx/dataset.py:            h5py.Dataset.__init__(self, parent_object, name)
phynx/dataset.py:            h5py.Dataset.__init__(
PyMcaBatch.py:        import h5py
PyMcaBatch.py:                    if not h5py.is_hdf5(filelist[0]):
PyMcaBatch.py:                        if h5py.is_hdf5(self.fileList[0]):
QDataSource.py:    import h5py
QDataSource.py:                f = h5py.File(sourceName, 'r', driver='family')
QDataSource.py:                if h5py.is_hdf5(sourceName):
QDataSource.py:                    f = h5py.File(sourceName, 'r')
QNexusWidget.py:import h5py
QNexusWidget.py:            if isinstance(dataset, h5py.Dataset):
QNexusWidget.py:                    if isinstance(dataset, h5py.Dataset):
QNexusWidget.py:                if isinstance(phynxFile[entry], h5py.Dataset):
StackSelector.py:    import h5py
StackSelector.py:                if h5py.is_hdf5(filelist[0]):
StackSelector.py:                if h5py.is_hdf5(args[0]):


I already sent a mail to the upstream author and he sent to me the 
dependencies of PyMCA I cut and past the relevant part of its mail)

---
Juste pour information, je considere comme dependences optionelles de PyMca:

python-matplotlib      ----> Exporter des plots en haute qualite (tres  
convenable)
python-h5py            ----> Support HDF5
python-pyopengl        ----> 3D visualization (rare besoin)
python-mdp             ----> Analyse multivarie (Modular Data Processing)

Si on n'as pas besoin du support HDF5, la dependence peut s'averer  
lourde sur quelques plateformes. Si cela n'est pas le cas pour debian,  
alors c'est toute une autre histoire. Les autres trois sont tres  
simples a satisfaire.

A bientot,

Armando

---

His point was that on some platform (usually windows) the dependencies are tedious to install.
This is why he proposes them as optional. He also told me that he sent you a email about
thoses dependencies.

Now it would be nice to propose a fully fonctionnal PyMCA by adding thoses missing dependencies.
It seems that at least one upstream which use PyMCA (taurus), suppose thaht PyMCA comes with hdf5 support.
What is your opinion ?

> 
> Would it be enough to add python-h5py to Recommends?

Are Recommands installed with pbuilder ?

See you and thanks for your efforts.

Frédéric

[1] http://git.debian.org/?p=debian-science/packages/taurus.git;a=summary

-- 
GPG public key 4096R/4696E015 2011-02-14
    fingerprint = E92E 7E6E 9E9D A6B1 AA31  39DC 5632 906F 4696 E015
uid  Picca Frédéric-Emmanuel <picca at synchrotron-soleil.fr>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/debian-science-maintainers/attachments/20110511/1a651625/attachment-0001.pgp>


More information about the debian-science-maintainers mailing list