AttributeError: module 'magic' has no attribute 'from_buffer'
When the warming of sized images triggered this error occurred:
AttributeError: module 'magic' has no attribute 'from_buffer'
https://github.com/respondcreate/django-versatileimagefield/blob/318e033b4d7fb800598f2f2de2893077065dfba7/versatileimagefield/utils.py#L152
Error logs
VersatileImageField warming up for sized images
Thumbnail generation failed
Traceback (most recent call last):
File "D:\Platforms\Projects\web news collecter\back\venv\lib\site-packages\versatileimagefield\image_warmer.py", line 114, in _prewarm_versatileimagefield
url = get_url_from_image_key(versatileimagefieldfile, size_key)
File "D:\Platforms\Projects\web news collecter\back\venv\lib\site-packages\versatileimagefield\utils.py", line 198, in get_url_from_image_key
img_url = img_url[size_key].url
File "D:\Platforms\Projects\web news collecter\back\venv\lib\site-packages\versatileimagefield\datastructures\sizedimage.py", line 145, in __getitem__
height=height
File "D:\Platforms\Projects\web news collecter\back\venv\lib\site-packages\versatileimagefield\datastructures\sizedimage.py", line 197, in create_resized_image
path_to_image
File "D:\Platforms\Projects\web news collecter\back\venv\lib\site-packages\versatileimagefield\datastructures\base.py", line 162, in retrieve_image
image_format, mime_type = get_image_metadata_from_file(image)
File "D:\Platforms\Projects\web news collecter\back\venv\lib\site-packages\versatileimagefield\utils.py", line 152, in get_image_metadata_from_file
mime_type = magic.from_buffer(file_like.read(1024), mime=True)
AttributeError: module 'magic' has no attribute 'from_buffer'
Versions:
django-versatileimagefield 2.2
python-magic-bin 0.4.14
It seems in utils.py at import magic there is a conflict with another package
https://github.com/respondcreate/django-versatileimagefield/blob/318e033b4d7fb800598f2f2de2893077065dfba7/versatileimagefield/utils.py#L5
It solved by changing import magic to from magic import magic , I wonder why because it was fine with magic module itself before !