Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JSONDecodeError when starting program #10

Open
luludev51 opened this issue Dec 10, 2024 · 12 comments
Open

JSONDecodeError when starting program #10

luludev51 opened this issue Dec 10, 2024 · 12 comments

Comments

@luludev51
Copy link

French :

Je viens d'installer la librairie, mais en voulant la tester avec un simple code j'ai une erreur JSONDecodeError.

Voici le code

import pygrammalecte

text = "Je suis un texte avec une erreure"

for message in pygrammalecte.grammalecte_text(text):
    print(message)

Voici l'erreur complète généré par le code :

Traceback (most recent call last):
  File "c:\Users\lucas\Documents\code\voltaire_project\next.py", line 9, in <module>
    for message in grammalecte_text(texte_bidon):
  File "C:\Users\lucas\AppData\Local\Programs\Python\Python312\Lib\site-packages\pygrammalecte\pygrammalecte.py", line 100, in grammalecte_text
    yield from grammalecte_file(tmpfile)
  File "C:\Users\lucas\AppData\Local\Programs\Python\Python312\Lib\site-packages\pygrammalecte\pygrammalecte.py", line 115, in grammalecte_file
    yield from _convert_to_messages(stdout)
  File "C:\Users\lucas\AppData\Local\Programs\Python\Python312\Lib\site-packages\pygrammalecte\pygrammalecte.py", line 125, in _convert_to_messages
    warnings = json.loads(grammalecte_json_str)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\lucas\AppData\Local\Programs\Python\Python312\Lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\lucas\AppData\Local\Programs\Python\Python312\Lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\lucas\AppData\Local\Programs\Python\Python312\Lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Merci d'avance pour votre aide 😊

English

I just installed the library, and when i wanted to try it with a simple code, i got an JSONDecodeError

Here is my code :

import pygrammalecte

text = "Je suis un texte avec une erreure"

for message in pygrammalecte.grammalecte_text(text):
    print(message)

And here is the full error :

Traceback (most recent call last):
  File "c:\Users\lucas\Documents\code\voltaire_project\next.py", line 9, in <module>
    for message in grammalecte_text(texte_bidon):
  File "C:\Users\lucas\AppData\Local\Programs\Python\Python312\Lib\site-packages\pygrammalecte\pygrammalecte.py", line 100, in grammalecte_text
    yield from grammalecte_file(tmpfile)
  File "C:\Users\lucas\AppData\Local\Programs\Python\Python312\Lib\site-packages\pygrammalecte\pygrammalecte.py", line 115, in grammalecte_file
    yield from _convert_to_messages(stdout)
  File "C:\Users\lucas\AppData\Local\Programs\Python\Python312\Lib\site-packages\pygrammalecte\pygrammalecte.py", line 125, in _convert_to_messages
    warnings = json.loads(grammalecte_json_str)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\lucas\AppData\Local\Programs\Python\Python312\Lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\lucas\AppData\Local\Programs\Python\Python312\Lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\lucas\AppData\Local\Programs\Python\Python312\Lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)```

Thanks in advance for your help 😊 
@Juloup78
Copy link

j'ai la même erreur

@vpoulailleau
Copy link
Owner

Mince, je ne reproduis pas le problème, mais la différence c'est que je suis sous Linux.

En lançant deux fois ce programme, j'ai :

$ python toto.py 
Processing /tmp/grammalecte_o3433wvz/Grammalecte-fr-v2.1.1
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: Grammalecte-fr
  Building wheel for Grammalecte-fr (pyproject.toml) ... done
  Created wheel for Grammalecte-fr: filename=Grammalecte_fr-2.1.1-py3-none-any.whl size=4029124 sha256=c8a1d5b7dd58303256eb9080b14cdbeef744fad702c92ef6647d4d8ff1d3080c
  Stored in directory: /home/vincent/.cache/pip/wheels/ef/a1/f8/48f4e98addfeef6ab45b4ae2198fce751fe8c8b9a82f7e2eac
Successfully built Grammalecte-fr
Installing collected packages: Grammalecte-fr
Successfully installed Grammalecte-fr-2.1.1
Ligne 1 [26:33] Mot inconnu : erreure

$ python toto.py
Ligne 1 [26:33] Mot inconnu : erreure

@vpoulailleau
Copy link
Owner

@luludev51 @Juloup78

Pouvez-vous me fournir le résultat de la commande : python -m pip freeze, le python utilisé étant celui qui a servi à l'installation de pygrammalecte ?

@vpoulailleau
Copy link
Owner

Je viens d'activer Windows dans des tests faits par GitHub (je n'ai pas de Windows chez moi), et ça reproduit le problème :

Ça fonctionne nickel sous Linux, mais pas sous Windows… Ça ne va pas être facile à débugger sans Windows sous la main !

@luludev51
Copy link
Author

Y a t il encore besoin de faire python -m pip freeze du coup ?

Si besoin je peux faire tourner les différents tests sur mon Windows afin d'aider !

@vpoulailleau
Copy link
Owner

@luludev51 Non, merci, j'ai maintenant le résultat avec les actions GitHub.

Je vois que le résultat du pip freeze est bien l'attendu.

Quand j'appelle grammalecte depuis windows, il me répond '� 1\n� 2\n� 3' au lieu des messages d'erreurs. Du coup je n'arrive pas à interpréter ça comme des messages de correction grammaticale, et cela fait planter pygrammalecte.

grammalecte est peu documenté, et codé de façon obscure. Ça s'annonce délicat !

@luludev51
Copy link
Author

Ok ba bonne chance pour corriger ça !
Si besoin n'hésitez pas à me ping 👌

@vpoulailleau
Copy link
Owner

@luludev51

Peux-tu essayer avec la nouvelle version : python -m pip install --upgrade pygrammalecte ?

La gestion des caractères spéciaux montre ses limites dans windows, mais normalement cela ne doit plus planter. Peux-tu me le confirmer ?

@luludev51
Copy link
Author

@vpoulailleau Je n'ai pas accès à un ordinateur pour l'instant, je fais ça ce soir vers 19h

@luludev51
Copy link
Author

luludev51 commented Dec 13, 2024

@vpoulailleau Je viens d'essayer et cela marche !
J'ai pu remarquer en faisant quelques tests qu'un bug ressort si j'inclus un \n dans le texte. Ce n'est pas réellement dérangeant mais je préfère prévenir ! Voici l'erreur :

Traceback (most recent call last):
  File "c:\Users\lucas\Documents\code\voltaire_project\next.py", line 5, in <module>
    for message in pygrammalecte.grammalecte_text(text):
  File "C:\Users\lucas\AppData\Local\Programs\Python\Python312\Lib\site-packages\pygrammalecte\pygrammalecte.py", line 110, in grammalecte_text
    yield from grammalecte_file(tmpfile)
  File "C:\Users\lucas\AppData\Local\Programs\Python\Python312\Lib\site-packages\pygrammalecte\pygrammalecte.py", line 125, in grammalecte_file
    yield from _convert_to_messages(stdout)
  File "C:\Users\lucas\AppData\Local\Programs\Python\Python312\Lib\site-packages\pygrammalecte\pygrammalecte.py", line 135, in _convert_to_messages
    warnings = json.loads(grammalecte_json_str)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\lucas\AppData\Local\Programs\Python\Python312\Lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\lucas\AppData\Local\Programs\Python\Python312\Lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\lucas\AppData\Local\Programs\Python\Python312\Lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 4 column 1 (char 320)``` 

@vpoulailleau
Copy link
Owner

@luludev51 Top ! Tu peux m'envoyer un code d'exemple qui reproduit le problème, je ne suis pas sur d'avoir bien compris ton nouveau bug.

@luludev51
Copy link
Author

luludev51 commented Dec 14, 2024

Voilà ce que j'ai fais :

import pygrammalecte

text = "Je suis un texte avec une erreure \nEt un deuxième texte"

for message in pygrammalecte.grammalecte_text(text):
    print(message)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants