I am trying to use pip to add the package pyhdf
in python3.
I'm working in a virtualenv and have the prereq packages there:
% pip list
numpy (1.9.2)
pip (7.0.3)
requests (2.7.0)
setuptools (17.0)
wheel (0.24.0)
If I ask pip to get the latest/default version of pyhdf, I believe it searches this index page
https://pypi.python.org/simple/pyhdf/
This appears to trip up pip, as it tries to FTP the egg for v.0.7.x (not the latest) from a server that is not presently responding:
ftp://nordet.qc.dfo-mpo.gc.ca/pub/soft/pyhdf/pyhdf-0.7-1.tar.gz
I've been through the whole mess that the 'requests' package doesn't accept FTP URLs like this one, and that pip now strongly discourages getting external/unverified packages even though they are listed at PyPI. I settled on this workaround, getting the latest build directly from the authors' site:
wget http://hdfeos.org/software/pyhdf/pyhdf-0.9.0.tar.gz
To build the python package from a downloaded egg, you need to get the source headers for libhdf before running setup.py (via pip or manually.) The following I did outside the venv, though they might work within one too
sudo apt-get install libhdf4-0
sudo apt-get install libhdf4-dev libhdf4-doc
Finally, back in the venv, the actual pip install syntax that worked for me to install pyhdf from the tar.gz that I had downloaded:
pip install --global-option=build_ext --global-option="-I/usr/include/hdf" --no-index --find-links=file:pyhdf-0.9.0.tar.gz pyhdf
after which pip list
yields:
numpy (1.9.2)
pip (7.0.3)
pyhdf (0.9.0)
requests (2.7.0)
setuptools (17.0)
wheel (0.24.0)
Yay!
Since I'm posting my workaround that got me pyhdf okay, to make this an actual question I will ask: Is there an official proper way that users can do to contact either PyPI admins or the authors of the pyhdf package to report that the "best match" link at the project page is:
- no longer the latest release, and
- points to an FTP server that is apparently offline (at least currently)
making
pip install pyhdf
basically infeasible without much extra manual intervention (which if permanent, ought to be documented by the maintainers)