1

When running pip install bob.ip.gabor on MacOS 11.6 with python 3.9 within conda, I run into a long set of errors, the first apparently being related to the latest version of bob.extension. By default, bob.ip.gabor appears to install as a prerequisite the latest version of bob.extension, which is 7.0.3. The setup.py file of bob.ip.gabor contains the following line:

from bob.extension import Extension, Library, build_ext

While importing Library and build_ext works without an issue, importing Extension from this latest version of bob.extension raises an error, since "Extension" is not defined in that version for some reason.

I tried installing manually an earlier version of bob.extension (6.0.0), and the command 'from bob.extension import Extension' now works. Unfortunately, the install of bob.ip.gabor does not work with the packages that have previously been installed, instead it re-installs its own set of requirements that force it to work with the latest version of bob.extension and the installation fails. I was trying to see how to modify the installation configuration of bob.ip.gabor to force it to use the earlier version of bob.extension, to avoid this error, but it's not clear to me how to do that. Any help will be much appreciated.

This is the beginning of the error report featuring the error I mentioned. A possible solution might be to remove the flag --ignore-installed from the command being shown at the top at the error report, but I don't know where to make this change.

Thank you!

(base) petersv@My-MacBook-Pro ~ % pip install bob.ip.gabor
Collecting bob.ip.gabor
  Using cached bob.ip.gabor-2.0.19.zip (238 kB)
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /Users/petersv/opt/miniconda3/bin/python /private/var/folders/j9/19867df10yj8fqd35rvwysch0000gp/T/pip-standalone-pip-cnmnc9va/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /private/var/folders/j9/19867df10yj8fqd35rvwysch0000gp/T/pip-build-env-t5q80any/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel bob.extension bob.blitz bob.core bob.io.base bob.sp
       cwd: None
  Complete output (498 lines):
  Collecting setuptools
    Using cached setuptools-67.6.1-py3-none-any.whl (1.1 MB)
  Collecting wheel
    Using cached wheel-0.40.0-py3-none-any.whl (64 kB)
  Collecting bob.extension
    Using cached bob.extension-7.0.3-py3-none-any.whl
  Collecting bob.blitz
    Using cached bob.blitz-2.0.24.zip (123 kB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /Users/petersv/opt/miniconda3/bin/python /var/folders/j9/19867df10yj8fqd35rvwysch0000gp/T/tmp9rvwymy8_in_process.py get_requires_for_build_wheel /var/folders/j9/19867df10yj8fqd35rvwysch0000gp/T/tmpgk7f5ocr
         cwd: /private/var/folders/j9/19867df10yj8fqd35rvwysch0000gp/T/pip-install-0nha6kd1/bob-blitz_995368b3704c4d319569fed21c27fdf2
    Complete output (15 lines):
    Traceback (most recent call last):
      File "/var/folders/j9/19867df10yj8fqd35rvwysch0000gp/T/tmp9rvwymy8_in_process.py", line 349, in <module>
        main()
      File "/var/folders/j9/19867df10yj8fqd35rvwysch0000gp/T/tmp9rvwymy8_in_process.py", line 331, in main
        json_out['return_val'] = hook(**hook_input['kwargs'])
      File "/var/folders/j9/19867df10yj8fqd35rvwysch0000gp/T/tmp9rvwymy8_in_process.py", line 117, in get_requires_for_build_wheel
        return hook(config_settings)
      File "/private/var/folders/j9/19867df10yj8fqd35rvwysch0000gp/T/pip-build-env-4uyl9cvl/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 338, in get_requires_for_build_wheel
        return self._get_build_requires(config_settings, requirements=['wheel'])
      File "/private/var/folders/j9/19867df10yj8fqd35rvwysch0000gp/T/pip-build-env-4uyl9cvl/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 320, in _get_build_requires
        self.run_setup()
      File "/private/var/folders/j9/19867df10yj8fqd35rvwysch0000gp/T/pip-build-env-4uyl9cvl/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 335, in run_setup
        exec(code, locals())
      File "<string>", line 9, in <module>
    ImportError: cannot import name 'Extension' from 'bob.extension' (/private/var/folders/j9/19867df10yj8fqd35rvwysch0000gp/T/pip-build-env-4uyl9cvl/overlay/lib/python3.9/site-packages/bob/extension/__init__.py)
    ----------------------------------------
  • From the looks of it, this should work. So this could be a bug. Did you try to report it or ask advice to the maintainers of those pieces of software? I do not think there is much we can do here on StackOverflow. – sinoroc Apr 15 '23 at 15:04

0 Answers0