Partage
  • Partager sur Facebook
  • Partager sur Twitter

ValueError: source code string cannot contain null

    19 novembre 2021 à 15:01:04

    Bonjour,

    import mysql.connector
    
    con = mysql.connector.connect(host="localhost", user="root", password="root", database="python_db")
    
    if con:
        print("Connected")
    else:
        print("Connection error")

    En écrivant ce programme, j'ai une erreur suivante

    Traceback (most recent call last):
      File "C:\Users\domxa\PycharmProjects\pythonProject2\pythonProject\pythonProject\mysql\python_db.py", line 1, in <module>
        import mysql.connector
    ValueError: source code string cannot contain null bytes

    quelqu'un peut m'aider svp

    • Partager sur Facebook
    • Partager sur Twitter
      19 novembre 2021 à 15:26:15

      Tu dois avoir des caractères invisible sur ta 1ère ligne qui se sont glissé à l'occasion d'un copier/coller.

      Réécris manuellement le code dans un nouveau fichier

      • Partager sur Facebook
      • Partager sur Twitter
        19 novembre 2021 à 16:18:21

        merci pour votre aide

        je réécris un nouveau fichier toujours la même erreur

        • Partager sur Facebook
        • Partager sur Twitter
          19 novembre 2021 à 16:51:51

          sans faire de copier/coller ?
          • Partager sur Facebook
          • Partager sur Twitter
            19 novembre 2021 à 16:57:51

            oui j'avais fait sans faire copy coller
            • Partager sur Facebook
            • Partager sur Twitter
              19 novembre 2021 à 18:36:13

              Et avec :

              import mysql

              Plutôt que :

              import mysql.connector

              • Partager sur Facebook
              • Partager sur Twitter
                19 novembre 2021 à 19:08:42

                #import MySQLdb
                
                import mysql
                
                con = mysql.connector.connect(host="localhost", user="xavier", password="xav!3", database="python_db")
                if con:
                    print("Connected")
                else:
                    print("Connection error")

                erreur est le suivant:

                Traceback (most recent call last):
                  File "C:\Users\domxa\PycharmProjects\pythonProject2\pythonProject\pythonProject\mysql\python2_db.py", line 3, in <module>
                    import mysql
                ValueError: source code string cannot contain null bytes

                • Partager sur Facebook
                • Partager sur Twitter
                  19 novembre 2021 à 19:38:31

                  ouvrir ton fichier avec notepad++ (ou word ou équivalent) et afficher les caractères spéciaux c'est un bouton avec le caractère ¶ et regarde (mais a priori ce n'est pas nécessaire). Si tu vois un caractère bizarre, supprime le.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    19 novembre 2021 à 19:46:14

                    umfred a écrit:

                    ouvrir ton fichier avec notepad++ (ou word ou équivalent) et afficher les caractères spéciaux c'est un bouton avec le caractère ¶ et regarde (mais a priori ce n'est pas nécessaire). Si tu vois un caractère bizarre, supprime le.

                    Effectivement tu as raison :-°

                    • Partager sur Facebook
                    • Partager sur Twitter
                      20 novembre 2021 à 22:01:42

                      "ouvrir ton fichier avec notepad++ (ou word ou équivalent) et afficher les caractères spéciaux c'est un bouton avec le caractère ¶ et regarde (mais a priori ce n'est pas nécessaire). Si tu vois un caractère bizarre, supprime le."

                      j'écris mon programme avec PyCharme pas avec note pad

                      • Partager sur Facebook
                      • Partager sur Twitter
                        21 novembre 2021 à 11:02:20

                        Bonjour,

                        Ok, mais si on te demande de l'ouvrir avec Notepad++, c'est bel et bien pour pouvoir afficher les caractères spéciaux et donc détecter

                        si il n'y aurait pas des caractères bizarres qui donneraient ce message d'erreur ...

                        • Partager sur Facebook
                        • Partager sur Twitter
                          21 novembre 2021 à 15:12:18

                          Petite tambouille rigolote?.

                          Prendre un petit script python importe le module toto.py qui ne fait pas grand chose.

                          Vérifier que çà marche.

                          Puis éditer toto.py pour le sauvegarder en "utf-16".

                          Rerun.

                          Et on se récupère: "ValueError: source code string cannot contain null byte" à l'import de toto.

                          De toute façon, si çà plante à l'import de mysql, c'est pas celui qui exécute l'import qui a un problème.

                          -
                          Edité par mps 21 novembre 2021 à 15:15:16

                          • Partager sur Facebook
                          • Partager sur Twitter
                            22 novembre 2021 à 6:56:39

                            Ou réinstaller MySQL connector...
                            • Partager sur Facebook
                            • Partager sur Twitter
                              22 novembre 2021 à 15:30:55

                              je réinstaller MySQL connector...

                              maintenant j'ai password error

                              import mysql
                               
                              con = mysql.connector.connect(host="localhost", user="xavier", password="xav!3", database="python_db")
                              if con:
                                  print("Connected")
                              else:
                                  print("Connection error")

                              Traceback (most recent call last):
                                File "C:\Users\domxa\PycharmProjects\pythonProject2\pythonProject\pythonProject\pythonProject1\XAVIER\test.py", line 2, in <module>
                                  con = mysql.connector.connect(host="localhost", user="root", password="root", database="python_db")
                                File "C:\Users\domxa\PycharmProjects\pythonProject2\pythonProject\pythonProject\mysql\venv\lib\site-packages\mysql\connector\__init__.py", line 179, in connect
                                  return MySQLConnection(*args, **kwargs)
                                File "C:\Users\domxa\PycharmProjects\pythonProject2\pythonProject\pythonProject\mysql\venv\lib\site-packages\mysql\connector\connection.py", line 95, in __init__
                                  self.connect(**kwargs)
                                File "C:\Users\domxa\PycharmProjects\pythonProject2\pythonProject\pythonProject\mysql\venv\lib\site-packages\mysql\connector\abstracts.py", line 716, in connect
                                  self._open_connection()
                                File "C:\Users\domxa\PycharmProjects\pythonProject2\pythonProject\pythonProject\mysql\venv\lib\site-packages\mysql\connector\connection.py", line 208, in _open_connection
                                  self._do_auth(self._user, self._password,
                                File "C:\Users\domxa\PycharmProjects\pythonProject2\pythonProject\pythonProject\mysql\venv\lib\site-packages\mysql\connector\connection.py", line 137, in _do_auth
                                  packet = self._protocol.make_auth(
                                File "C:\Users\domxa\PycharmProjects\pythonProject2\pythonProject\pythonProject\mysql\venv\lib\site-packages\mysql\connector\protocol.py", line 99, in make_auth
                                  packet += self._auth_response(client_flags, username, password,
                                File "C:\Users\domxa\PycharmProjects\pythonProject2\pythonProject\pythonProject\mysql\venv\lib\site-packages\mysql\connector\protocol.py", line 58, in _auth_response
                                  auth = get_auth_plugin(auth_plugin)(
                                File "C:\Users\domxa\PycharmProjects\pythonProject2\pythonProject\pythonProject\mysql\venv\lib\site-packages\mysql\connector\authentication.py", line 190, in get_auth_plugin
                                  raise errors.NotSupportedError(
                              mysql.connector.errors.NotSupportedError: Authentication plugin 'caching_sha2_password' is not supported

                              -
                              Edité par xavierdominique 22 novembre 2021 à 15:56:34

                              • Partager sur Facebook
                              • Partager sur Twitter
                                22 novembre 2021 à 15:44:15

                                faut installer mysql-connector-python au lieu de mysql-connector

                                pip install mysql-connector-python



                                https://stackoverflow.com/questions/50243506/caching-sha2-password-is-not-supported-mysql?rq=1 

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  22 novembre 2021 à 17:04:42

                                  j'ai suivi instruction

                                  python3 -m pip install mysql-connector-python

                                  python -m pip install mysql-connector-python

                                  Installe le lecteur pour le python par défaut préinstallé sur votre système par le fabricant.


                                  erreur persiste

                                  raise errors.NotSupportedError(
                                  mysql.connector.errors.NotSupportedError: Authentication plugin 'caching_sha2_password' is not supported

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    25 novembre 2021 à 11:51:55

                                    Tu n'as pas de fichier connector.py ou autre dans ton répertoire courant par hasard ? Vu que je vois que ton répertoire a l'air de s'appeler mysql ça pose peut-être problème.

                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    ValueError: source code string cannot contain null

                                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                    • Editeur
                                    • Markdown