Probleme avec la derniere version de pillows

Bonjour,

mon plugin kroomba ne veut plus demarrer, j’ai cette erreur:

Fatal error: module 'PIL.Image' has no attribute 'ANTIALIAS'
0015|CV or numpy module not found, falling back to PIL

d’apres ce que j’ai trouvé sur le net:

ANTIALIAS was removed in Pillow 10.0.0 (after being deprecated through many previous versions). Now you need to use PIL.Image.LANCZOS or PIL.Image.Resampling.LANCZOS.

(This is the exact same algorithm that ANTIALIAS referred to, you just can no longer access it through the name ANTIALIAS.)

donc je pense qu’il faut soit modifier dans le code soit forcer la version de pillow en 9.5.0 dans les dépendances.

source: python - AttributeError: module 'PIL.Image' has no attribute 'ANTIALIAS' - Stack Overflow

ps: je voulais faire un PR mais je n’ai pas encore trouvé où c’était utilisé :smiley:

Bonjour,

Comme demandé dans la documentation, j’attend tous les logs (dépendances & démons surtout) au complet ainsi que la page santé jeedom.

Le plugin n’utilise pas pillow et ne l’installe pas.
As-tu modifié quelque chose? as-tu installé quelque chose manuellement?

le log en debug ne contient que cette ligne d’interessante:

[2023-07-18 11:49:45]INFO : Starting daemon
[2023-07-18 11:49:45]INFO : Log level: debug
[2023-07-18 11:49:45]DEBUG : Socket port : 55072
[2023-07-18 11:49:45]DEBUG : PID file : /tmp/jeedom/kroomba/daemon.pid
[2023-07-18 11:49:45]INFO : Using Password version 2.1
[2023-07-18 11:49:45]INFO : reading/writing info from config file /var/www/html/plugins/kroomba/data/config.ini
[2023-07-18 11:49:45]DEBUG : {'192.168.0.51': {'blid': '948456D904E040C89BE6A3AF092A27A2', 'password': ':1:1597391743:PgDAbpsFJ341ymIY', 'data': {'cap': {'5ghz': 1, 'area': 1, 'eco': 1, 'edge': 0, 'lang': 2, 'langOta': 0, 'log': 2, 'maps': 3, 'mc': 1, 'multiPass': 2, 'oMode': 4, 'ota': 2, 'pmaps': 10, 'pp': 0, 'prov': 3, 'sched': 2, 'svcConf': 1, 'tHold': 1, 'tLine': 2, 'team': 1, 'tileScan': 1}, 'hostname': 'iRobot-948456D904E040C89BE6A3AF092A27A2', 'ip': '192.168.0.51', 'mac': '50:14:79:20:84:FD', 'nc': 0, 'password': ':1:1597391743:PgDAbpsFJ341ymIY', 'proto': 'mqtt', 'robotid': '948456D904E040C89BE6A3AF092A27A2', 'robotname': 'Braava jet', 'sku': 'm613440', 'sw': 'sanmarino+22.21.1+2022-06-02-570490a425b+Firmware-Build+1339', 'ver': '3'}}}
[2023-07-18 11:49:45]INFO : Using Password version 2.1
[2023-07-18 11:49:45]ERROR : Fatal error: module 'PIL.Image' has no attribute 'ANTIALIAS'
[2023-07-18 11:49:45]INFO : Shuting down
[2023-07-18 11:49:45]DEBUG : Removing PID file /tmp/jeedom/kroomba/daemon.pid
[2023-07-18 11:49:45]DEBUG : Exit 0
CV or numpy module not found, falling back to PIL

pour les dépendances, les voilà, pas d’erreur:

0000|+ echo '*******************Begin of package installation******************'
0001|*******************Begin of package installation******************
0002|+ touch /tmp/jeedom_install_in_progress_kroomba
0003|+ echo 1
0004|+ echo 2
0005|++ awk '$1 <= 4'
0006|++ cut -f 2-
0007|++ find /usr/local/lib/python2.7/dist-packages/ /usr/local/lib/python3.7/dist-packages/ /usr/local/lib/python3.9/dist-packages/ -mindepth 1 -maxdepth 1 -type d -exec du -ks '{}' +
0008|+ RESULTTODELETE=
0009|++ echo ''
0010|++ sed 's, ,\ ,g'
0011|+ RESULTTODELETE2=
0012|+ echo ''
0013|+ xargs rm -rf
0014|+ echo 3
0015|+ sudo pip3 cache purge
0016|Files removed: 303
0017|+ echo 4
0018|+ sudo pip3 install --upgrade pip
0019|Requirement already satisfied: pip in /usr/local/lib/python3.9/dist-packages (23.2)
0020|DEPRECATION: gpg 1.14.0-unknown has a non-standard version number. pip 23.3 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of gpg or contact the author to suggest that they release a version with a conforming version number. Discussion can be found at https://github.com/pypa/pip/issues/12063
0021|WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
0022|+ echo 5
0023|+ sudo pip3 install --force-reinstall --upgrade requests
0024|Collecting requests
0025|Obtaining dependency information for requests from https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl.metadata
0026|Downloading requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)
0027|Collecting charset-normalizer<4,>=2 (from requests)
0028|Obtaining dependency information for charset-normalizer<4,>=2 from https://files.pythonhosted.org/packages/f9/0d/514be8597d7a96243e5467a37d337b9399cec117a513fcf9328405d911c0/charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
0029|Downloading charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (31 kB)
0030|Collecting idna<4,>=2.5 (from requests)
0031|Downloading idna-3.4-py3-none-any.whl (61 kB)
0032|━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.5/61.5 kB 1.1 MB/s eta 0:00:00
0033|Collecting urllib3<3,>=1.21.1 (from requests)
0034|Obtaining dependency information for urllib3<3,>=1.21.1 from https://files.pythonhosted.org/packages/8a/03/ad9306a50d05c166e3456fe810f33cee2b8b2a7a6818ec5d4908c4ec6b36/urllib3-2.0.3-py3-none-any.whl.metadata
0035|Downloading urllib3-2.0.3-py3-none-any.whl.metadata (6.6 kB)
0036|Collecting certifi>=2017.4.17 (from requests)
0037|Downloading certifi-2023.5.7-py3-none-any.whl (156 kB)
0038|━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 157.0/157.0 kB 3.0 MB/s eta 0:00:00
0039|Downloading requests-2.31.0-py3-none-any.whl (62 kB)
0040|━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.6/62.6 kB 972.7 kB/s eta 0:00:00
0041|Downloading charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (202 kB)
0042|━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 202.1/202.1 kB 3.5 MB/s eta 0:00:00
0043|Downloading urllib3-2.0.3-py3-none-any.whl (123 kB)
0044|━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 123.6/123.6 kB 1.8 MB/s eta 0:00:00
0045|DEPRECATION: gpg 1.14.0-unknown has a non-standard version number. pip 23.3 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of gpg or contact the author to suggest that they release a version with a conforming version number. Discussion can be found at https://github.com/pypa/pip/issues/12063
0046|Installing collected packages: urllib3, idna, charset-normalizer, certifi, requests
0047|Attempting uninstall: urllib3
0048|Found existing installation: urllib3 2.0.3
0049|Uninstalling urllib3-2.0.3:
0050|Successfully uninstalled urllib3-2.0.3
0051|Attempting uninstall: idna
0052|Found existing installation: idna 3.4
0053|Uninstalling idna-3.4:
0054|Successfully uninstalled idna-3.4
0055|Attempting uninstall: charset-normalizer
0056|Found existing installation: charset-normalizer 3.2.0
0057|Uninstalling charset-normalizer-3.2.0:
0058|Successfully uninstalled charset-normalizer-3.2.0
0059|Attempting uninstall: certifi
0060|Found existing installation: certifi 2023.5.7
0061|Uninstalling certifi-2023.5.7:
0062|Successfully uninstalled certifi-2023.5.7
0063|Attempting uninstall: requests
0064|Found existing installation: requests 2.31.0
0065|Uninstalling requests-2.31.0:
0066|Successfully uninstalled requests-2.31.0
0067|Successfully installed certifi-2023.5.7 charset-normalizer-3.2.0 idna-3.4 requests-2.31.0 urllib3-2.0.3
0068|WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
0069|+ echo 6
0070|+ sudo pip3 install --force-reinstall --upgrade paho-mqtt
0071|Collecting paho-mqtt
0072|Downloading paho-mqtt-1.6.1.tar.gz (99 kB)
0073|━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 99.4/99.4 kB 1.4 MB/s eta 0:00:00
0074|Preparing metadata (setup.py): started
0075|Preparing metadata (setup.py): finished with status 'done'
0076|Building wheels for collected packages: paho-mqtt
0077|Building wheel for paho-mqtt (setup.py): started
0078|Building wheel for paho-mqtt (setup.py): finished with status 'done'
0079|Created wheel for paho-mqtt: filename=paho_mqtt-1.6.1-py3-none-any.whl size=62118 sha256=f327e2c19e9a32a8396dea0b8523e982041194b2e9b30a55cfe9ff3e671d7ef0
0080|Stored in directory: /root/.cache/pip/wheels/0f/90/29/db29bb8ddc98ec5f2363b959130c9ddbcf5cfdb4a00b6184dd
0081|Successfully built paho-mqtt
0082|DEPRECATION: gpg 1.14.0-unknown has a non-standard version number. pip 23.3 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of gpg or contact the author to suggest that they release a version with a conforming version number. Discussion can be found at https://github.com/pypa/pip/issues/12063
0083|Installing collected packages: paho-mqtt
0084|Attempting uninstall: paho-mqtt
0085|Found existing installation: paho-mqtt 1.6.1
0086|Uninstalling paho-mqtt-1.6.1:
0087|Successfully uninstalled paho-mqtt-1.6.1
0088|Successfully installed paho-mqtt-1.6.1
0089|WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
0090|+ echo 7
0091|+ sudo pip3 install --force-reinstall --upgrade aiohttp
0092|Collecting aiohttp
0093|Downloading aiohttp-3.8.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB)
0094|━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 5.7 MB/s eta 0:00:00
0095|Collecting attrs>=17.3.0 (from aiohttp)
0096|Downloading attrs-23.1.0-py3-none-any.whl (61 kB)
0097|━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.2/61.2 kB 1.0 MB/s eta 0:00:00
0098|Collecting charset-normalizer<4.0,>=2.0 (from aiohttp)
0099|Obtaining dependency information for charset-normalizer<4.0,>=2.0 from https://files.pythonhosted.org/packages/f9/0d/514be8597d7a96243e5467a37d337b9399cec117a513fcf9328405d911c0/charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
0100|Using cached charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (31 kB)
0101|Collecting multidict<7.0,>=4.5 (from aiohttp)
0102|Downloading multidict-6.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (114 kB)
0103|━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 114.2/114.2 kB 1.3 MB/s eta 0:00:00
0104|Collecting async-timeout<5.0,>=4.0.0a3 (from aiohttp)
0105|Downloading async_timeout-4.0.2-py3-none-any.whl (5.8 kB)
0106|Collecting yarl<2.0,>=1.0 (from aiohttp)
0107|Downloading yarl-1.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (269 kB)
0108|━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 269.4/269.4 kB 2.7 MB/s eta 0:00:00
0109|Collecting frozenlist>=1.1.1 (from aiohttp)
0110|Obtaining dependency information for frozenlist>=1.1.1 from https://files.pythonhosted.org/packages/b5/03/7dec2e257bd173b5ca1f74477863b97d322149f6f0284d7decead8c5ceeb/frozenlist-1.4.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
0111|Downloading frozenlist-1.4.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.2 kB)
0112|Collecting aiosignal>=1.1.2 (from aiohttp)
0113|Downloading aiosignal-1.3.1-py3-none-any.whl (7.6 kB)
0114|Collecting idna>=2.0 (from yarl<2.0,>=1.0->aiohttp)
0115|Using cached idna-3.4-py3-none-any.whl (61 kB)
0116|Using cached charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (202 kB)
0117|Downloading frozenlist-1.4.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (228 kB)
0118|━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 228.0/228.0 kB 3.1 MB/s eta 0:00:00
0119|DEPRECATION: gpg 1.14.0-unknown has a non-standard version number. pip 23.3 will enforce this behaviour change. A possible replacement is to upgrade to a newer version of gpg or contact the author to suggest that they release a version with a conforming version number. Discussion can be found at https://github.com/pypa/pip/issues/12063
0120|Installing collected packages: multidict, idna, frozenlist, charset-normalizer, attrs, async-timeout, yarl, aiosignal, aiohttp
0121|Attempting uninstall: multidict
0122|Found existing installation: multidict 6.0.4
0123|Uninstalling multidict-6.0.4:
0124|Successfully uninstalled multidict-6.0.4
0125|Attempting uninstall: idna
0126|Found existing installation: idna 3.4
0127|Uninstalling idna-3.4:
0128|Successfully uninstalled idna-3.4
0129|Attempting uninstall: frozenlist
0130|Found existing installation: frozenlist 1.4.0
0131|Uninstalling frozenlist-1.4.0:
0132|Successfully uninstalled frozenlist-1.4.0
0133|Attempting uninstall: charset-normalizer
0134|Found existing installation: charset-normalizer 3.2.0
0135|Uninstalling charset-normalizer-3.2.0:
0136|Successfully uninstalled charset-normalizer-3.2.0
0137|Attempting uninstall: attrs
0138|Found existing installation: attrs 23.1.0
0139|Uninstalling attrs-23.1.0:
0140|Successfully uninstalled attrs-23.1.0
0141|Attempting uninstall: async-timeout
0142|Found existing installation: async-timeout 4.0.2
0143|Uninstalling async-timeout-4.0.2:
0144|Successfully uninstalled async-timeout-4.0.2
0145|Attempting uninstall: yarl
0146|Found existing installation: yarl 1.9.2
0147|Uninstalling yarl-1.9.2:
0148|Successfully uninstalled yarl-1.9.2
0149|Attempting uninstall: aiosignal
0150|Found existing installation: aiosignal 1.3.1
0151|Uninstalling aiosignal-1.3.1:
0152|Successfully uninstalled aiosignal-1.3.1
0153|Attempting uninstall: aiohttp
0154|Found existing installation: aiohttp 3.8.4
0155|Uninstalling aiohttp-3.8.4:
0156|Successfully uninstalled aiohttp-3.8.4
0157|Successfully installed aiohttp-3.8.4 aiosignal-1.3.1 async-timeout-4.0.2 attrs-23.1.0 charset-normalizer-3.2.0 frozenlist-1.4.0 idna-3.4 multidict-6.0.4 yarl-1.9.2
0158|WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
0159|+ echo 8
0160|+ php /var/www/html/core/class/../php/jeecli.php plugin dependancy_end kroomba
0161|+ rm /tmp/jeedom_install_in_progress_kroomba
0162|+ echo '*******************End of package installation******************'
0163|*******************End of package installation******************

et la page santé:

ce que j’ai touché c’est des mises à jour de package et un reboot.

et j’ai trouvé où c’est, c’est dans resources/kroomba/roomba/roomba.py

ça n’installe peut-etre pa pillows mais ça l’utilise: from PIL import Image

et un sudo pip install Pillow==9.5.0 résoud bien le soucis

Salut

Aieeee… il ne faut pas utiliser la maj package dans jeedom
ça vient surement de la le souci

Oui, et je sais le resoudre comme dit plus haut en remettant pillows 9.5.0

Je remonte surtout le soucis car sur une nouvelle installation il risque d’arriver

Non, car le plugin n’installe pas ca, comme déjà dit :slight_smile:
c’est que tu l’as installé manuellement (edit: ou qu’un autre plugin l’a fait).

mais je vais virer tout le code mort qui ne sert pas et là ca ne sera définitivement plus un problème

Si ce n’est pas ce plugin qui me l’a installé alors c’en est forcement un autre. Je ne l’ai pas installé manuellement mais mis à jour

Pour info, j’ai trouvé qui installe pillows, c’est blea.

Donc si sur une fresh install tu installe blea et kromba tu a bien le soucis

Ok mais c’est pas grave

Oui, c’etait pour ma curiosité que j’ai cherché la source du pillows, je me suis dit que ça t’intéresserait peut être

1 « J'aime »

Tout à fait, c’est intéressant à savoir.
Surtout que blea est assez répandu.

Au fait, un peu hors sujet, lui fonctionne toujours avec la nouvelle version?

Edit: je suis con, t’as fait le rollback donc oui forcément. Désolé je fait plusieurs choses en même temps

Je n’ai du coup pas testé si il fonctionnait mais il demarait bien.

J’ai fait les mises à jour sur mes antennes aussi et elles fonctionnent donc je suppose que oui

Edit: je n’ai redémarré que le plugin kroomba apres le rollback, donc je suppose que blea tourne toujours avec la nouvelle non?

J’ai fait du nettoyage, ca sera dispo demain en beta.
En principe avec ca tu pourras installer (ou blea :stuck_out_tongue:) la version de pillows que tu veux

top, ça demarre bien avec pillows a jour.

la seule chose que j’ai remarqué est l’apparition de boutons start_xxx, je suppose que ça correspond aux zones dont tu parlais sur un autre sujet.

faut-il que je fasse des tests particuliers?

yep c’est ca, le plugin créé les commandes lorsqu’il détecte les zones/pièces et il les détecte si tu lances le nettoyage dans cette zone/pièce (via l’app officielle)

tu peux renommer la commande bien entendu, ce n’est simplement pas possible de remonter le nom de la pièce.

et tu peux tester si ca fonctionne bien pour toi, c’est quoi comme robot? un roomba?
mais je n’attends pas de test en particulier, je pense que ca fonctionne :grimacing:

c’est un braava jet M6.
je vais tester ça

C’est en stable avec la version 2023-08-21

Merci beaucoup :pray:

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.