django-versatileimagefield icon indicating copy to clipboard operation
django-versatileimagefield copied to clipboard

AttributeError: module 'magic' has no attribute 'from_buffer'

Open moehmeni opened this issue 4 years ago • 1 comments

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

moehmeni avatar Oct 22 '21 13:10 moehmeni

It solved by changing import magic to from magic import magic , I wonder why because it was fine with magic module itself before !

moehmeni avatar Oct 22 '21 14:10 moehmeni