[SOLVED] Why "Pillow is always not installed:"?

Hi all, I am on B4.3.1RC win64
Why we have always this same message in system console:

Pillow is not installed, therefore:
- BIP images load without scaling.
- Other images load slowly (Blender standard).
- Other images load in 128x128 (Blender standard).

while the module was installed by the Module Manager addon

What addon and when gives you those console warnings?

1 Like

I duplicated the PIL folder from extensions>local in my roaming>blender>4.3.1>modules but no change, always this message.

I can’t identify what add-on :

Registering: bl_ext.blender_org.ZenUVChecker
register_class(...):
Warning: 'SJSelectionSetEditList' does not contain '_UL_' with prefix and suffix
register_class(...):
Warning: 'SJSelectionSetPanel' does not contain '_PT_' with prefix and suffix
register_class(...):
Warning: 'SJSelectionSetListPanel' does not contain '_PT_' with prefix and suffix
Pillow is not installed, therefore:
- BIP images load without scaling.
- Other images load slowly (Blender standard).
Pillow is not installed, therefore:
- BIP images load without scaling.
- Other images load slowly (Blender standard).
register_class(...):
Info: Registering operator class: 'SvgExport', bl_idname 'export_svg_format.svg' has been registered before, unregistering previous
register_class(...):
Info: Registering operator class: 'GCodeExport', bl_idname 'export_gcode_format.gcode' has been registered before, unregistering previous
UMI : Log file path : C:\Users\Patrick\AppData\Local\Temp\UMI_20241206.log
'NoneType' object has no attribute 'umi_colors'
UMI : create class from operator bpy.ops.wm.alembic_import
UMI : create class from operator bpy.ops.import_scene.tila_import_blend
UMI : create class from operator bpy.ops.import_anim.bvh
UMI : create class from operator bpy.ops.wm.collada_import
UMI : create class from operator bpy.ops.import_scene.dxf
UMI : create class from operator bpy.ops.import_scene.fbx
UMI : create class from operator bpy.ops.import_scene.gltf
UMI : create class from operator bpy.ops.image.import_as_mesh_planes
UMI : create class from operator bpy.ops.image.open
UMI : create class from operator bpy.ops.object.empty_image_add
UMI : create class from operator bpy.ops.import_scene.max
UMI : create class from operator bpy.ops.import_scene.max3ds
UMI : create class from operator bpy.ops.wm.obj_import
UMI : create class from operator bpy.ops.import_mesh.pdb
UMI : create class from operator bpy.ops.import_scene.embroidery
UMI : create class from operator bpy.ops.wm.ply_import
UMI : create class from operator bpy.ops.wm.stl_import
UMI : create class from operator bpy.ops.import_curve.svg
UMI : create class from operator bpy.ops.wm.usd_import
UMI : create class from operator bpy.ops.import_scene.x3d
UMI : create class from operator bpy.ops.import_mesh.xyz
Pillow is not installed, therefore:
- BIP images load without scaling.
- Other images load slowly (Blender standard).
Pillow is not installed, therefore:
- BIP images load without scaling.
- Other images load slowly (Blender standard).
- Other images load in 128x128 (Blender standard).
Pillow is not installed, therefore:
- BIP images load without scaling.
- Other images load slowly (Blender standard).
- Other images load in 128x128 (Blender standard).
Module coloring registered.
Module i18n registered.
Blender PIP user site: C:\Users\Patrick\AppData\Roaming\Python\Python311\site-packages
register_class(...):
Warning: 'Code_PT_AutoComplete_panel' doesn't have upper case alpha-numeric prefix

May be with SvgExport but what is his name???
I found curve_tools addon and desactived! No change it’s not this addon.
The addon must be activated before “Curve Tools”.
I tryed “Curve CAD Tools” before “Curve Tools” but no change.

WHEN: Just I start blender…

I can’t identify what add-on :

Temporarily rename 4.3 folder in AppData so addons will be disabled and then enable them one by one to identify which one has a problem.

1 Like

With Notepad++ I make a search of the string “Pillow is not installed, therefore” in addons folder… I wait.

RESULT: these addons get this warning alert !

brush_manager
fluent_materializer
fluent_power_trip
gscatter
ravage2-lite
RenderNode
Sanctus-Library
Sanctus-Library_v3
Sanctus-Library_v4
t3dn_bip
t3dn_bip_getting_started
t3dn_bip_showcase

And only
brush_manager,
t3d_bip,
t3dn_bip_getting_started,
t3dn_bip_showcase
was activated for me ! I removed it and now no message !
RESOLVED but not solved because PIL is too installed in roaming/blender/2.43/scripts/modules !

EDIT 1 : I understand now. These add-ons use the t3dn_bip library and this modules content these files:
t3dn_bip\previews.py that demands to :
previews.cpython-310.pyc
previews.cpython-311.pyc
previews.cpython-37.pyc
previews.cpython-38.pyc
previews.cpython-39.pyc
…if PIL is installed .

 def __init__(self, max_size: tuple = (128, 128), lazy_load: bool = True):
        '''Create collection and start internal timer.'''
        if settings.WARNINGS:
            if not support_pillow():
                print('Pillow is not installed, therefore:')
                print('- BIP images load without scaling.')

                if lazy_load:
                    print('- Other images load slowly (Blender standard).')
                if lazy_load and max_size != (128, 128):
                    print('- Other images load in 128x128 (Blender standard).')
                elif not lazy_load and max_size != (256, 256):
                    print('- Other images load in 256x256 (Blender standard).')

Print warnings about which features are supported.

settings.WARNINGS = True

from .utils import support_pillow
support_pillow() say no ! Why?

def support_pillow() -> bool:
    '''Check whether Pillow is installed.'''
    if not Image and 'PIL' in sys.modules:
        _import_pillow()

    return bool(Image)

I understand now:
Image is not in PIL v11
Because when I type in py console in Blender :
import PIL
from PIL import Image
I have this traceback with PIL v11

Traceback (most recent call last):
  File "<blender_console>", line 1, in <module>
ImportError: cannot import name 'Image' from 'PIL' (C:\Users\Patrick\AppData\Roaming\Blender Foundation\Blender\4.3\scripts\modules\PIL\__init__.py)

I found this help (https://stackoverflow.com/questions/8863917/importerror-no-module-named-pil) :

I removed my PIL folder and re install Pillow with:

pip install Pillow --target=“C:\Users\Patrick\AppData\Roaming\Blender Foundation\Blender\4.3\scripts\modules”

And now PIL was fine installed because :

from PIL import Image 

work without traceback and no message in blender console now !
PIL wasn’t correctly installed at home !