Partage
  • Partager sur Facebook
  • Partager sur Twitter

Résoudre : ImportError: 'BeautifulSoup' from bs4

Sujet résolu
    24 août 2024 à 20:40:19

    Bonjour à tous  :)

    je débute en Python. Après bien des difficultés, j'ai réussi à installer beautifulsoup, puis xhtml, puis... Quelques heures de recherche plus tard, j'en suis toujours au même point. 

    Pour avancer, j'ai nommé la première page copier-collé du cours "bs4.py" :

    import requests
    
    url = "https://www.gov.uk/search/news-and-communications"
    page = requests.get(url)
    
    # Voir le code html source
    print(page.content)
    Voici la seconde page, toujours copier-coller du cours
    import requests
    
    from bs4 import BeautifulSoup
    
    url = "https://www.gov.uk/search/news-and-communications"
    page = requests.get(url)
    soup = BeautifulSoup(page.content, 'html.parser')
    Le message d'erreur est le suivant :
    Traceback (most recent call last):
      File "/Users/mercato/Documents/module-package/_pycache_/soupe.py", line 3, in <module>
        from bs4 import BeautifulSoup
    ImportError: cannot import name 'BeautifulSoup' from 'bs4' (/Users/mercato/Documents/module-package/_pycache_/bs4.py)

    Si je nomme autrement la première page, j'obtiens cet autre message d'erreur :

    Traceback (most recent call last):
      File "/Users/mercato/Documents/module-package/_pycache_/soupe.py", line 3, in <module>
        from bs4 import BeautifulSoup
    ModuleNotFoundError: No module named 'bs4'
    mercato@MacBook-Air-de-smartpheed ~ % 


    Lorsque j'essai d'installer bs4 depuis le terminal cela donne ceci : 

    mercato@MacBook-Air-de-smartpheed ~ % install bs4
    usage: install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
                   [-o owner] file1 file2
           install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
                   [-o owner] file1 ... fileN directory
           install -d [-v] [-g group] [-m mode] [-o owner] directory ...

    Egalement, un fichier se créer : _pycache_ avec ce document : bs4.cpython-312.pyc. Malgré mes essais, je n'arrive pas à l'utiliser...

    J'indique que je rencontre d'autres difficultés par exemple, je n'arrive pas à faire fonctionner "operation.py" depuis "main.py". Or, si j'ajoute un print(etc) ou une addition, la donné s'affiche.

    Quelqu'une ou quelqu'un aurait-elle ou il la solution ? 

    En vous remerciant de votre attention, puissent vos projet vous être agréable ! :D

    HL



    • Partager sur Facebook
    • Partager sur Twitter
      25 août 2024 à 10:51:47

      Une fois que vous avez crée votre bs4.py, l'instruction "from bs4 import..." va chercher BeautifulSoup dans ce fichier là (plutot que dans le bs4 installé qui le contient): faites le ménage... 

      • Partager sur Facebook
      • Partager sur Twitter
        26 septembre 2024 à 18:42:06

        Bonjour, 

        je vous remercie énormément de ces conseils. 

        J'ai même réinitialiser le Mac, mais je n'y arrive toujours pas.

        Là, le terminal ne reconnaît plus ni Pip, ni python, ni $, ni bs4. 

        Je suis arrivée à installer request. 

        Je vais reprendre le cours dès le départ, mais si quelqu'un à une idée, elle est la bienvenue. La réponse de la console est souvent : 

        zsh: command not found: pip

        Très bonne soirée à tous

        • Partager sur Facebook
        • Partager sur Twitter
          26 septembre 2024 à 18:51:45

          Non @mps vous expliquait de modifier le nom du fichier bs4.py qui est déjà un nom de module existant ...

          • Partager sur Facebook
          • Partager sur Twitter

          Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
          La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

            26 septembre 2024 à 19:57:39

            Merci, 

            juste, je n'en suis plus là... 

            Voilà ce que me dit le terminal :

            Last login: Thu Sep 26 19:04:04 on ttys004
            ➜  ~ print("Hello")
            zsh: unknown file attribute: H
            ➜  ~ 
            

            Je crois que je vais devoir de nouveau réinitialiser mon Mac ou quelqu'un a-t-il une autre idée ?

            Le problème, c'est qu'il bug depuis son achat, il y a à peine plus d'un mois. Avant même d'essayer de faire quelque chose, comment faire qu'il fonctionne ? 

            & merci encore !

            • Partager sur Facebook
            • Partager sur Twitter
              27 septembre 2024 à 16:17:38

              HlCellier a écrit:

                     Avant même d'essayer de faire quelque chose, comment faire qu'il fonctionne ? 

              Apprendre à lire les messages d'erreurs comme les réponses qu'on vous donne est un préalable à toute discussion (dans un forum ou avec la machine). L'autre étant de trouver le manuel qui indique que faire pas à pas suivant l'opération à réaliser (un manuel d'installation de Python ou de la bibliothèque truc existe...) et savoir vérifier que chaque étape s'est déroulé proprement avant d'enclencher la suivante.

              Bon courage.



              • Partager sur Facebook
              • Partager sur Twitter
                27 septembre 2024 à 19:18:07

                là, tu sembles avoir saisi l'instruction print("Hello") dans le terminal du Mac et non pas dans le terminal de python
                • Partager sur Facebook
                • Partager sur Twitter
                  29 septembre 2024 à 21:14:01

                  Bonsoir,  

                  Tout d'abord merci de cette entre-aide qui date du site-du-zéro.. :D

                  Mps, fred1599, 

                  J'ai lu, cela marchait presque. Puis, le téléchargement d'un mauvais fichier, d'où mes temps de réponse: réinitialisation... Le ménage fut fait donc. Et, de nouveau en reprenant les cours (depuis le début, au pas à pas donc): même les actions les plus simples ne fonctionnent pas.

                  Après les forums de tous poils et la lecture du manuel python en anglais, il y aurait peut-être un problème avec mon Mac que je ne comprends pas... Je vous remercie de votre aide, mais oui je lis, sans doute mon écriture n'est-elle pas assez claire. Il y a encore un mois, j'étais sur Pc alors merci de votre patience et de votre gentillesse. 

                  Umfred, 

                  Merci, dans le terminal Python, "print("Hello")" marche ! Encore merci, grâce à vous, je viens de comprendre qu'il faillait peut-être utiliser le terminal python plutôt que celui du Mac pour suivre le cours ! D'où certaines difficultés. Est-ce cela ?

                  Pourtant précédemment, cette commande simple (print) marchait depuis le terminal Mac. Je crois que j'ai dû installer des doublons... La commande de remise en état ne semble être qu'apparat. Auriez-vous une solution ou dois-je une seconde fois le remettre au paramètre d'usine ?

                  Car, il doit y avoir un autre problème, même le terminal python ne reconnaît pas pip et pourtant il est installé d'usine. 

                  pip install beautifulsoup4
                  SyntaxError: invalid syntax
                  pip
                  Traceback (most recent call last):
                    File "<pyshell#3>", line 1, in <module>
                      pip
                  NameError: name 'pip' is not defined. Did you mean: 'zip'?

                  J'ai bien peur que ce soit dans ma manière d'effectuer les mises à jour de ce modèle ancien afin qu'il fonctionne... Auriez-vous une idée ? 

                  J'ai écumé bien des forums, notamment en cherchant en mots clés les messages d'erreur, sinon je n'oserais pas posté. 

                  Enjoy your time, take care and see you soon, 

                  Hélène

                  • Partager sur Facebook
                  • Partager sur Twitter
                    30 septembre 2024 à 8:54:16

                    HlCellier a écrit:

                    Car, il doit y avoir un autre problème, même le terminal python ne reconnaît pas pip et pourtant il est installé d'usine. 

                    pip install beautifulsoup4
                    SyntaxError: invalid syntax
                    pip
                    Traceback (most recent call last):
                      File "<pyshell#3>", line 1, in <module>
                        pip
                    NameError: name 'pip' is not defined. Did you mean: 'zip'?

                    Le message d'erreur dit que pip n'est pas une commande du langage Python mais doit être passée dans le shell... (bash like sur OSX)... qui trouvera l'exécutable si python a été configuré proprement... Donc, pour l'instant, le seul problème est votre  interprétation des messages d'erreur dus au fait que vous ne tenez pas compte du contexte  dans lequel vous tapez vos commandes.

                    Que vous vous laissiez impressionner d'être passé de Windows à OSX n'est pas un problème python... mais d'environnement système (auquel il faut vous former un peu...)



                    • Partager sur Facebook
                    • Partager sur Twitter
                      1 octobre 2024 à 16:54:09

                      Bonjour,

                      je vous remercie réellement de votre extrême patience. 

                      En fait, avant le conseil de Umfred, je n'utilisais que le terminal. Je précise que je suis allée lire l'article consacré au sujet par Mac. Suivant votre conseil et obtenant ceci du terminal : 

                      pip --version
                      zsh: command not found: pip
                      

                      j'ai essayé de réinitialiser le shell en pensant à une mauvaise manipulation de ma part. Plusieurs forums plus tard, pour tenter la réinitialisation du shell, le résultat demeure toujours inchangé : 

                      Last login: Tue Oct  1 15:22:11 on ttys008
                      ➜  ~ print("Hello")
                      zsh: unknown file attribute: H

                      J'ai passé des heures à chercher comment corriger l'erreur "zsh"...

                      Un conseil, dois-je réinitialiser l'ordinateur ?

                      Bonne soirée




                      • Partager sur Facebook
                      • Partager sur Twitter
                        1 octobre 2024 à 17:45:37

                        HlCellier a écrit:

                        J'ai passé des heures à chercher comment corriger l'erreur "zsh"...

                        Déjà posez-vous la question d'identifier ce à quoi correspond ce zsh... et n'importe quel moteur de recherche  devrait vous permettre de savoir ce que c'est et sa relation avec l'environnement système du mac.

                        Puis si  vous ave des difficultés  à installer beautifoulsoup sur OSX peut être que d'autres ont déjà eu le même problème et qu'il existe des artciles sur Internet disant comment faire... Les mots clefs "python beautifoulsoup install osx" devraient sortir des pistes.

                        Essayer de comprendre un peu ce qu'il se passe plutôt que de passer des heures à taper n'importe quoi (au sens vous n'avez aucune bonne raison de... sinon l'espoir!)

                        -
                        Edité par mps 1 octobre 2024 à 17:47:05

                        • Partager sur Facebook
                        • Partager sur Twitter
                          1 octobre 2024 à 18:09:11

                          Sieur Mps, 

                          j'ai passé des heures à lire avant d'oser poster mes questions. Je ne tape que les solutions qui me semblent plausible. De mémoire :

                          1) wsh est un problème survenu suite à une mise à jour. Il peut correspondre à l'impossibilité d'écrire dans certains fichiers. Dans ce cas la solution est de donner l'accès complet au disque dur : fait. 

                          2) deuxième solution: un patch spécial qui modifie le terminal, en "-zsh" : fait. 

                          3) utiliser un commande pour forcer l'installation, "sudo" : fait. 

                          En revanche, vous m'avez fait comprendre qu'il faut que je travail sur mes mots clés... Grâce à vous, je suis tombé sur un tips qui marche. 

                          Par curiosité : pourquoi print("Hello") ne marche pas/plus dans le terminal ?

                          En vous remerciant encore. 

                          • Partager sur Facebook
                          • Partager sur Twitter
                            1 octobre 2024 à 18:27:02

                            toujours pour la même raison que ce n'est pas dans le "terminal"/console/interpréteur python et le print du bash zsh n'est pas celui de python.

                            Les instructions python se lance dans l'interpréteur python (à défaut de les mettre dans un fichier script .py)

                            Les commandes d'installation se font dans le terminal Mac (bash/zsh/..); par analogie avec le PC windows, c'est l'invite de commandes (anciennement DOS)

                            Pour lancer l'interpréteur python, on peut taper "python" dans le terminal mac (et on le quitte en tapant exit() dans l'interpréteur python donc)

                            • Partager sur Facebook
                            • Partager sur Twitter
                              1 octobre 2024 à 22:30:34

                              HlCellier a écrit:

                              Par curiosité : pourquoi print("Hello") ne marche pas/plus dans le terminal ?

                              Parce que print n'est pas une  commande zsh (comme pip n'est pas une commande python...)... Et ce n'est pas la première fois qu'on vous le dit ici.

                              HlCellier a écrit:

                              j'ai passé des heures à lire avant d'oser poster mes questions. Je ne tape que les solutions qui me semblent plausible.

                              Voir des symboles passer devant ses yeux est une chose, les interpréter correctement en est une autre!

                              Peut être que vous seriez plus à l'aise dans un boulot  moins abstrait.

                              -
                              Edité par mps 1 octobre 2024 à 22:31:50

                              • Partager sur Facebook
                              • Partager sur Twitter

                              Résoudre : ImportError: 'BeautifulSoup' from bs4

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