Bug #49180
Conflit entre feedparser<6 et le module base64 de python 3.9
0%
Description
python3.9/site-packages/feedparser.py plante parce qu'il référence l'alias comme valeur de replie (qui n'est pas utilisée).
import feedparser File "/home/nroche/envs/publik-env-py3/lib/python3.9/site-packages/feedparser.py", line 94, in <module> _base64decode = getattr(base64, 'decodebytes', base64.decodestring) AttributeError: module 'base64' has no attribute 'decodestring'
D'un côté on a feedparser<6 pour garder la compatibilité python3.5 :
https://dev.entrouvert.org/projects/combo/repository/184/revisions/d936639e814eb060a7bebdda03915cfe291529ce
et de l'autre la disparition de l'alias decodestring
dans la module base64 en python 3.9 :
https://docs.python.org/3.8/library/base64.html#base64.decodestring vs https://docs.python.org/3.9/library/base64.html#base64.decodebytes
Files
Related issues
Associated revisions
History
Updated by Emmanuel Cazenave almost 3 years ago
C'est quoi la trace complète ?
Quelle est ta version de feedparser ? (dans le venv, pip show feedparser).
Updated by Nicolas Roche almost 3 years ago
$ combo-manage migrate-schemas <string>:192: UserWarning: journald will not be used directly, please install python-systemd Traceback (most recent call last): File "/home/nroche/src/combo/manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "/home/nroche/envs/publik-env-py3/lib/python3.9/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line utility.execute() File "/home/nroche/envs/publik-env-py3/lib/python3.9/site-packages/django/core/management/__init__.py", line 338, in execute django.setup() File "/home/nroche/envs/publik-env-py3/lib/python3.9/site-packages/django/__init__.py", line 27, in setup apps.populate(settings.INSTALLED_APPS) File "/home/nroche/envs/publik-env-py3/lib/python3.9/site-packages/django/apps/registry.py", line 108, in populate app_config.import_models() File "/home/nroche/envs/publik-env-py3/lib/python3.9/site-packages/django/apps/config.py", line 202, in import_models self.models_module = import_module(models_module_name) File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1030, in _gcd_import File "<frozen importlib._bootstrap>", line 1007, in _find_and_load File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 790, in exec_module File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "/home/nroche/src/combo/combo/data/models.py", line 20, in <module> import feedparser File "/home/nroche/envs/publik-env-py3/lib/python3.9/site-packages/feedparser.py", line 93, in <module> _base64decode = getattr(base64, 'decodebytes', base64.decodestring) AttributeError: module 'base64' has no attribute 'decodestring' $ pip show feedparser Name: feedparser Version: 5.2.1
Updated by Emmanuel Cazenave almost 3 years ago
- Tracker changed from Support to Bug
- Project changed from Publik Installation Développeur to Combo
Je n'ai pas de python3.9 sur ma machine je ne peux pas investiguer, aussi c'est plutôt du combo, je déplace.
Updated by Frédéric Péters almost 3 years ago
Remonter au pourquoi du <6; si c'est juste une histoire de compat de version python, le retirer et le mettre dans le tox.ini à la place.
Updated by Nicolas Roche almost 3 years ago
- File 0001-setup-relax-feedparser-version-for-python-3.9-49180.patch 0001-setup-relax-feedparser-version-for-python-3.9-49180.patch added
- Status changed from Nouveau to Solution proposée
- Assignee set to Nicolas Roche
- Patch proposed changed from No to Yes
- Planning changed from No to Yes
Remonter au pourquoi du <6
Je n'ai rien trouvé de plus que ce message dans les logs.
J'ai reporté la même correction dans passerelle : #49218.
Je pensais aussi devoir le faire pour w.c.s, mais la version <6 n'y était spécifiée nulle part (ni dans wcs, ni dans publik-devinst).
Avec ces 2 patchs publik-devinst fonctionne sur ma machine en python 3.9.
Updated by Frédéric Péters almost 3 years ago
- Status changed from Solution proposée to Solution validée
Updated by Nicolas Roche almost 3 years ago
- Status changed from Solution validée to Résolu (à déployer)
commit 689391b451cb9f69b19e822dddf8b481c73d480b Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Tue Dec 8 08:26:51 2020 +0100 setup: relax feedparser version for python 3.9 (#49180)
Updated by Nicolas Roche almost 3 years ago
- Related to Development #49218: Relacher la contrainte sur feedparseur added
Updated by Frédéric Péters almost 3 years ago
- Status changed from Résolu (à déployer) to Solution déployée
setup: relax feedparser version for python 3.9 (#49180)