Bonjour, j’ai installer mon environnement python .venv uv avec mes package flask,openpyxl et pandas. j’ai du du coup voulu teste s’ils marchait bien en faisant : python -c “import flask; import openpyxl; print(‘OK’)” mais j’ai ces erreurs que je n’arrive pas à résoudre.
File “C:\Users\FKT609835\Documents\2. ENV_TEST\Environement Python.venv\Lib\site-packages\flask_init_.py”, line 5, in from . import json as json File “C:\Users\FKT609835\Documents\2. ENV_TEST\Environement Python.venv\Lib\site-packages\flask\json_init_.py”, line 6, in from ..globals import current_app ValueError: source code string cannot contain null bytes
Difficile de pouvoir en dire plus, il semblerait que le fichier globals.py de Flask soit corrompu (contienne un octet nul). J’arrive à reproduire le problème en altérant manuellement le fichier mais je ne comprends pas comment ça a pu se produire.
Est-ce que tu as modifié ce fichier ? Comment as-tu installé Flask ? Est-ce que tu peux nous transmettre le fichier en question ?
je n’ai pas du tout toucher au fichier après l’installation. voici le contenu fichier init de flask
from future import annotations
import typing as t
from . import json as json
from .app import Flask as Flask
from .blueprints import Blueprint as Blueprint
from .config import Config as Config
from .ctx import after_this_request as after_this_request
from .ctx import copy_current_request_context as copy_current_request_context
from .ctx import has_app_context as has_app_context
from .ctx import has_request_context as has_request_context
from .globals import current_app as current_app
from .globals import g as g
from .globals import request as request
from .globals import session as session
from .helpers import abort as abort
from .helpers import flash as flash
from .helpers import get_flashed_messages as get_flashed_messages
from .helpers import get_template_attribute as get_template_attribute
from .helpers import make_response as make_response
from .helpers import redirect as redirect
from .helpers import send_file as send_file
from .helpers import send_from_directory as send_from_directory
from .helpers import stream_with_context as stream_with_context
from .helpers import url_for as url_for
from .json import jsonify as jsonify
from .signals import appcontext_popped as appcontext_popped
from .signals import appcontext_pushed as appcontext_pushed
from .signals import appcontext_tearing_down as appcontext_tearing_down
from .signals import before_render_template as before_render_template
from .signals import got_request_exception as got_request_exception
from .signals import message_flashed as message_flashed
from .signals import request_finished as request_finished
from .signals import request_started as request_started
from .signals import request_tearing_down as request_tearing_down
from .signals import template_rendered as template_rendered
from .templating import render_template as render_template
from .templating import render_template_string as render_template_string
from .templating import stream_template as stream_template
from .templating import stream_template_string as stream_template_string
from .wrappers import Request as Request
from .wrappers import Response as Response
if not t.TYPE_CHECKING:
def __getattr__(name: str) -> t.Any:
if name == "__version__":
import importlib.metadata
import warnings
warnings.warn(
"The '__version__' attribute is deprecated and will be removed in"
" Flask 3.2. Use feature detection or"
" 'importlib.metadata.version(\"flask\")' instead.",
DeprecationWarning,
stacklevel=2,
)
return importlib.metadata.version("flask")
raise AttributeError(name)
Dans le doute et sans pouvoir expliquer l’origine du problème (problème réseau ?) j’essaierais déjà de supprimer l’environnement virtuel, de le recréer puis de réinstaller les dépendances.
C’est peut-etre une fausse piste mais avoir des espaces dans le chemin peut poser des soucis / complications - essayer plutot dans un dossier par exemple 2.ENV_TEST (sans espaces) de faire par exemple uv venv .venv (plutot que “Environement Python .venv”) puis .venv/Scripts/activate et ressayer