PyImageSearch / imutils

A series of convenience functions to make basic image processing operations such as translation, rotation, resizing, skeletonization, and displaying Matplotlib images easier with OpenCV and Python.
MIT License
4.51k stars 1.03k forks source link

Failed to install imutils using pip #285

Open gakabani opened 11 months ago

gakabani commented 11 months ago

I apologize if this is a trivial issue. I am no expert in python. I am unable to install imutils using pip. My pip version is pip 23.2.1 My python version is Python 3.9.11 I am getting the following error.

gamalakabani:08/01/23:~$ pip install imutils Collecting imutils Using cached imutils-0.5.4.tar.gz (17 kB) Preparing metadata (setup.py) ... error error: subprocess-exited-with-error

× python setup.py egg_info did not run successfully. │ exit code: 1 ╰─> [49 lines of output] Traceback (most recent call last): File "", line 2, in File "", line 34, in File "/private/var/folders/lc/tbblv6l95sz47jzgk5nkbjyc0000gn/T/pip-install-492yytaq/imutils_36302717c4004751aec4d99d2c2c490a/setup.py", line 3, in setup( File "/Users/gamalakabani/.pyenv/versions/3.9.11/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 147, in setup _setup_distribution = dist = klass(attrs) File "/Users/gamalakabani/.pyenv/versions/3.9.11/lib/python3.9/site-packages/setuptools/dist.py", line 496, in init _Distribution.init( File "/Users/gamalakabani/.pyenv/versions/3.9.11/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 283, in init self.finalize_options() File "/Users/gamalakabani/.pyenv/versions/3.9.11/lib/python3.9/site-packages/setuptools/dist.py", line 934, in finalize_options for ep in sorted(loaded, key=by_order): File "/Users/gamalakabani/.pyenv/versions/3.9.11/lib/python3.9/site-packages/setuptools/dist.py", line 933, in loaded = map(lambda e: e.load(), filtered) File "/Users/gamalakabani/.pyenv/versions/3.9.11/lib/python3.9/site-packages/setuptools/_vendor/importlib_metadata/init.py", line 208, in load module = import_module(match.group('module')) File "/Users/gamalakabani/.pyenv/versions/3.9.11/lib/python3.9/importlib/init.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 1030, in _gcd_import File "", line 1007, in _find_and_load File "", line 972, in _find_and_load_unlocked File "", line 228, in _call_with_frames_removed File "", line 1030, in _gcd_import File "", line 1007, in _find_and_load File "", line 986, in _find_and_load_unlocked File "", line 680, in _load_unlocked File "", line 850, in exec_module File "", line 228, in _call_with_frames_removed File "/Users/gamalakabani/.pyenv/versions/3.9.11/lib/python3.9/site-packages/npe2/init.py", line 9, in from ._dynamic_plugin import DynamicPlugin File "/Users/gamalakabani/.pyenv/versions/3.9.11/lib/python3.9/site-packages/npe2/_dynamic_plugin.py", line 19, in from ._plugin_manager import PluginManager File "/Users/gamalakabani/.pyenv/versions/3.9.11/lib/python3.9/site-packages/npe2/_plugin_manager.py", line 30, in from ._command_registry import CommandRegistry File "/Users/gamalakabani/.pyenv/versions/3.9.11/lib/python3.9/site-packages/npe2/_command_registry.py", line 10, in from .manifest import utils File "/Users/gamalakabani/.pyenv/versions/3.9.11/lib/python3.9/site-packages/npe2/manifest/init.py", line 1, in from ._package_metadata import PackageMetadata File "/Users/gamalakabani/.pyenv/versions/3.9.11/lib/python3.9/site-packages/npe2/manifest/_package_metadata.py", line 14, in class PackageMetadata(BaseModel): File "pydantic/main.py", line 198, in pydantic.main.ModelMetaclass.new File "pydantic/fields.py", line 506, in pydantic.fields.ModelField.infer File "pydantic/fields.py", line 436, in pydantic.fields.ModelField.init File "pydantic/fields.py", line 552, in pydantic.fields.ModelField.prepare File "pydantic/fields.py", line 668, in pydantic.fields.ModelField._type_analysis File "/Users/gamalakabani/.pyenv/versions/3.9.11/lib/python3.9/typing.py", line 852, in subclasscheck return issubclass(cls, self.origin) TypeError: issubclass() arg 1 must be a class [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed

× Encountered error while generating package metadata. ╰─> See above for output.

note: This is an issue with the package mentioned above, not pip. hint: See above for details. gamalakabani:08/01/23:~$

Lzhenz commented 7 months ago

I encountered a similar issue on Python 3.12

You can try installing using the following method

pip install setuptools

and

pip install wheel

Finally, reinstall imutils

pip install imutils

good luck