cgohlke / imagecodecs

Image transformation, compression, and decompression codecs
https://pypi.org/project/imagecodecs
BSD 3-Clause "New" or "Revised" License
111 stars 21 forks source link

Failed to install imagecodecs==2021.11.20 with pip #26

Closed exesse closed 2 years ago

exesse commented 2 years ago

System:

Installation fails on numpy dependency:

    Complete output from command python setup.py egg_info:
    running egg_info
    creating pip-egg-info/imagecodecs.egg-info
    writing pip-egg-info/imagecodecs.egg-info/PKG-INFO
    writing dependency_links to pip-egg-info/imagecodecs.egg-info/dependency_links.txt                                                    
    writing entry points to pip-egg-info/imagecodecs.egg-info/entry_points.txt                                                            
    writing requirements to pip-egg-info/imagecodecs.egg-info/requires.txt                                                                
    writing top-level names to pip-egg-info/imagecodecs.egg-info/top_level.txt                                                            
    writing manifest file 'pip-egg-info/imagecodecs.egg-info/SOURCES.txt'                                                                 
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-9q1vp2c6/imagecodecs/setup.py", line 692, in <module>                                                        
        'Programming Language :: Python :: Implementation :: CPython',                                                                    
      File "/home/exesse/wsi-til/wsi/lib/python3.7/site-packages/setuptools/__init__.py", line 145, in setup                              
        return distutils.core.setup(**attrs)
      File "/usr/lib/python3.7/distutils/core.py", line 148, in setup                                                                     
        dist.run_commands()
      File "/usr/lib/python3.7/distutils/dist.py", line 966, in run_commands                                                              
        self.run_command(cmd)
      File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command                                                               
        cmd_obj.run()
      File "/home/exesse/wsi-til/wsi/lib/python3.7/site-packages/setuptools/command/egg_info.py", line 296, in run                        
        self.find_sources()
      File "/home/exesse/wsi-til/wsi/lib/python3.7/site-packages/setuptools/command/egg_info.py", line 303, in find_sources               
        mm.run()
      File "/home/exesse/wsi-til/wsi/lib/python3.7/site-packages/setuptools/command/egg_info.py", line 534, in run                        
        self.add_defaults()
      File "/home/exesse/wsi-til/wsi/lib/python3.7/site-packages/setuptools/command/egg_info.py", line 570, in add_defaults               
        sdist.add_defaults(self)
      File "/usr/lib/python3.7/distutils/command/sdist.py", line 228, in add_defaults                                                     
        self._add_defaults_ext()
      File "/usr/lib/python3.7/distutils/command/sdist.py", line 311, in _add_defaults_ext                                                
        build_ext = self.get_finalized_command('build_ext')
      File "/usr/lib/python3.7/distutils/cmd.py", line 299, in get_finalized_command                                                      
        cmd_obj.ensure_finalized()
      File "/usr/lib/python3.7/distutils/cmd.py", line 107, in ensure_finalized                                                           
        self.finalize_options()
      File "/tmp/pip-install-9q1vp2c6/imagecodecs/setup.py", line 600, in finalize_options                                                
        import numpy
    ModuleNotFoundError: No module named 'numpy'

If I would install numpy fisrt will fail with another error:

pip install imagecodecs                                                                                 
Collecting imagecodecs                                                                                                                     
  Using cached https://files.pythonhosted.org/packages/51/72/09eb4cdf8f2a8887cf87cedefdd6be063c85005918ec107a9d8dce432375/imagecodecs-2021$
11.20.tar.gz                                                                                                                               
Requirement already satisfied: numpy>=1.16.5 in ./wsi/lib/python3.7/site-packages (from imagecodecs) (1.21.4)                              
Building wheels for collected packages: imagecodecs                                                                                        
  Running setup.py bdist_wheel for imagecodecs ... error                                                                                   
  Complete output from command /home/exesse/wsi-til/wsi/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-v1pharh0$
imagecodecs/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file_$
, 'exec'))" bdist_wheel -d /tmp/pip-wheel-6uexafag --python-tag cp37:                                                                      
  usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]                                                                          
     or: -c --help [cmd1 cmd2 ...]                                                                                                         
     or: -c --help-commands                                                                                                                
     or: -c cmd --help                                                                                                                     

  error: invalid command 'bdist_wheel'                                                                                                     

  ----------------------------------------                                                                                                 
  Failed building wheel for imagecodecs                                                                                                    
  Running setup.py clean for imagecodecs                                                                                                   
Failed to build imagecodecs                                                                                                                
Installing collected packages: imagecodecs                                                                                                 
  Running setup.py install for imagecodecs ... error                                                                                       
    Complete output from command /home/exesse/wsi-til/wsi/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-v1phar$
0/imagecodecs/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __fil$
__, 'exec'))" install --record /tmp/pip-record-c9jhdbs8/install-record.txt --single-version-externally-managed --compile --install-headers 
/home/exesse/wsi-til/wsi/include/site/python3.7/imagecodecs:                                                                               
    running install                                                                                                                        
    running build                                                                                                                          
    running build_py                                                                                                                       
    creating build                                                                                                                         
    creating build/lib.linux-x86_64-3.7                                                                                                    
    creating build/lib.linux-x86_64-3.7/imagecodecs                                                                                        
    copying imagecodecs/__main__.py -> build/lib.linux-x86_64-3.7/imagecodecs                                                              
    copying imagecodecs/numcodecs.py -> build/lib.linux-x86_64-3.7/imagecodecs                                                             
    copying imagecodecs/__init__.py -> build/lib.linux-x86_64-3.7/imagecodecs                                                              
    copying imagecodecs/imagecodecs.py -> build/lib.linux-x86_64-3.7/imagecodecs                                                           
    copying imagecodecs/_imagecodecs.py -> build/lib.linux-x86_64-3.7/imagecodecs                                                          
    creating build/lib.linux-x86_64-3.7/imagecodecs/licenses                                                                               
    copying imagecodecs/licenses/LICENSE-libspng -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                        
    copying imagecodecs/licenses/LICENSE-jpeg -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                           
    copying imagecodecs/licenses/LICENSE-dav1d -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                          
    copying imagecodecs/licenses/LICENSE-libtiff -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                        
    copying imagecodecs/licenses/LICENSE-snappy -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                        
    copying imagecodecs/licenses/LICENSE-aom -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                           
    copying imagecodecs/licenses/PATENTS-rav1e -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                         
    copying imagecodecs/licenses/LICENSE-libaec -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                        
    copying imagecodecs/licenses/LICENSE-brotli -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                        
    copying imagecodecs/licenses/LICENSE-zlib -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                          
    copying imagecodecs/licenses/LICENSE-zstd -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                          
    copying imagecodecs/licenses/LICENSE-libjxl -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                        
    copying imagecodecs/licenses/LICENSE-libwebp -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                       
    copying imagecodecs/licenses/LICENSE-zlib-ng -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                       
    copying imagecodecs/licenses/LICENSE-liblzma -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                       
    copying imagecodecs/licenses/LICENSE-postgresql -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                    
    copying imagecodecs/licenses/LICENSE-lcms2 -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                         
    copying imagecodecs/licenses/LICENSE-libmng -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                        
    copying imagecodecs/licenses/LICENSE-liblj92 -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                       
    copying imagecodecs/licenses/LICENSE-libpng -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                        
    copying imagecodecs/licenses/LICENSE-zopfli -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                        
    copying imagecodecs/licenses/LICENSE-lz4 -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                           
    copying imagecodecs/licenses/LICENSE-bitshuffle -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                    
    copying imagecodecs/licenses/LICENSE-charls -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                        
    copying imagecodecs/licenses/LICENSE-cfitsio -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                       
    copying imagecodecs/licenses/LICENSE-lzf -> build/lib.linux-x86_64-3.7/imagecodecs/licenses                                           
    copying imagecodecs/licenses/LICENSE-libjpeg-turbo -> build/lib.linux-x86_64-3.7/imagecodecs/licenses
    copying imagecodecs/licenses/LICENSE-jxrlib -> build/lib.linux-x86_64-3.7/imagecodecs/licenses
    copying imagecodecs/licenses/LICENSE-libdeflate -> build/lib.linux-x86_64-3.7/imagecodecs/licenses
    copying imagecodecs/licenses/LICENSE-fastlz -> build/lib.linux-x86_64-3.7/imagecodecs/licenses
    copying imagecodecs/licenses/LICENSE-fastlz -> build/lib.linux-x86_64-3.7/imagecodecs/licenses
    copying imagecodecs/licenses/LICENSE-libaivf -> build/lib.linux-x86_64-3.7/imagecodecs/licenses
    copying imagecodecs/licenses/LICENSE-libjpeg -> build/lib.linux-x86_64-3.7/imagecodecs/licenses
    copying imagecodecs/licenses/LICENSE-zfp -> build/lib.linux-x86_64-3.7/imagecodecs/licenses
    copying imagecodecs/licenses/LICENSE-highway -> build/lib.linux-x86_64-3.7/imagecodecs/licenses
    copying imagecodecs/licenses/LICENSE-bzip2 -> build/lib.linux-x86_64-3.7/imagecodecs/licenses
    copying imagecodecs/licenses/LICENSE-giflib -> build/lib.linux-x86_64-3.7/imagecodecs/licenses
    copying imagecodecs/licenses/LICENSE-blosc2 -> build/lib.linux-x86_64-3.7/imagecodecs/licenses
    copying imagecodecs/licenses/LICENSE-lerc -> build/lib.linux-x86_64-3.7/imagecodecs/licenses
    copying imagecodecs/licenses/LICENSE-jpg_0xc3 -> build/lib.linux-x86_64-3.7/imagecodecs/licenses
    copying imagecodecs/licenses/LICENSE-brunsli -> build/lib.linux-x86_64-3.7/imagecodecs/licenses
    copying imagecodecs/licenses/LICENSE-mozjpeg -> build/lib.linux-x86_64-3.7/imagecodecs/licenses
    copying imagecodecs/licenses/LICENSE-openjpeg -> build/lib.linux-x86_64-3.7/imagecodecs/licenses
    copying imagecodecs/licenses/LICENSE-blosc -> build/lib.linux-x86_64-3.7/imagecodecs/licenses
    copying imagecodecs/licenses/LICENSE-rav1e -> build/lib.linux-x86_64-3.7/imagecodecs/licenses
    running build_ext
    building 'imagecodecs._aec' extension
    creating build/temp.linux-x86_64-3.7
    creating build/temp.linux-x86_64-3.7/imagecodecs
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -$
_FORTIFY_SOURCE=2 -fPIC -Iimagecodecs -I/home/exesse/wsi-til/wsi/include -I/usr/include/python3.7m -I/home/exesse/wsi-til/wsi/lib/python3.$
/site-packages/numpy/core/include -c imagecodecs/_aec.c -o build/temp.linux-x86_64-3.7/imagecodecs/_aec.o
    In file included from /home/exesse/wsi-til/wsi/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1969,
                     from /home/exesse/wsi-til/wsi/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
                     from /home/exesse/wsi-til/wsi/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h:4,
                     from imagecodecs/_aec.c:620:
    /home/exesse/wsi-til/wsi/lib/python3.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using $
eprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
     #warning "Using deprecated NumPy API, disable it with " \
      ^~~~~~~
    imagecodecs/_aec.c:627:10: fatal error: libaec.h: No such file or directory
     #include "libaec.h"
              ^~~~~~~~~~
    compilation terminated.
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

    ----------------------------------------
Command "/home/exesse/wsi-til/wsi/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-v1pharh0/imagecodecs/setup.py'$
f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install -$
record /tmp/pip-record-c9jhdbs8/install-record.txt --single-version-externally-managed --compile --install-headers /home/exesse/wsi-til/ws$
/include/site/python3.7/imagecodecs" failed with error code 1 in /tmp/pip-install-v1pharh0/imagecodecs/

pip list output:

Package       Version
------------- -------
numpy         1.21.4 
pip           18.1   
pkg-resources 0.0.0  
setuptools    40.8.0 
cgohlke commented 2 years ago

pip 18.1

Update pip:

https://github.com/cgohlke/imagecodecs/blob/ddddb7bb0e34aa243e1b45c04b545343c0569828/imagecodecs/imagecodecs.py#L159-L165

exesse commented 2 years ago

I have tested in meantime - so basically current version 2021.11.20 won't work on anything below Python 3.7.4. You should probably consider pinning version here:

https://github.com/cgohlke/imagecodecs/blob/ddddb7bb0e34aa243e1b45c04b545343c0569828/setup.py#L688

cgohlke commented 2 years ago

so basically current version 2021.11.20 won't work on anything below Python 3.7.4

Generally, that's not true.