seung-lab / fpzip

Cython bindings for fpzip, a floating point image compression algorithm.
BSD 3-Clause "New" or "Revised" License
33 stars 5 forks source link

fpzip 1.0.4 fails to pip install on a fresh python environment #2

Closed fcollman closed 5 years ago

fcollman commented 6 years ago

oddly 1.0.4 can be installed if 1.0.2 is installed first, but a fresh conda environment fails for python 3.6. I think there is something wrong with the packaging.

pip install fpzip Looking in indexes: http://aibs-artifactory.corp.alleninstitute.org/artifactory/api/pypi/pypi-local/simple,https://pypi.python.org/simple/ Collecting fpzip Downloading https://files.pythonhosted.org/packages/01/bc/33d7620fc7bd8ab5ed7f1d0bc663e79ebe0622873954d38d4b1d436230f2/fpzip-1.0.4.tar.gz (849kB) 100% |████████████████████████████████| 849kB 4.8MB/s No files/directories in /private/var/folders/93/pxx43tfd7nqbr7rbdxxm7jpn4fvqmh/T/pip-install-1692k9ut/fpzip/pip-egg-info (from PKG-INFO)

william-silversmith commented 6 years ago

fpzip requires numpy to be installed first. This is due to a deficiency in Python's installation ecosystem. I investigated the installation failures in app engine and it appears to be security related.

https://stackoverflow.com/questions/15801735/does-google-app-engine-support-c

App engine does not allow C extensions to be run.

william-silversmith commented 6 years ago

I also tried reproducing the conda problem on my local machine, but was unable. I might want to try integrating conda into the continuous integration testing.

fcollman commented 6 years ago

conda create --name fptest2 source activate fptest2 conda install pip pip install fpzip --no-cache-dir

fcollman commented 6 years ago

i had inconsistent reproduction.. first because i forgot that conda doesn't install pip by default, so you have your default environment pip by default untill you install it.... and then second a pip cache issue i think was making it still work. I don't really know why...

fcollman commented 6 years ago

I think we might be able to work around the app engine problem by either.. specifying to include numpy as a library (https://cloud.google.com/appengine/docs/standard/python/tools/built-in-libraries-27) or by just giving up and using a custom runtime environment/dockerfile.

william-silversmith commented 5 years ago

@fcollman I added some binaries for version 1.1.2. Would you want to give it a try again if you're still having the issue?

fcollman commented 5 years ago

yes... i can confirm this worked great on os X and ubuntu 16.04