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
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 :
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 !
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...
Non @mps vous expliquait de modifier le nom du fichier bs4.py qui est déjà un nom de module existant ...
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)
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 ?
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.
Tout d'abord merci de cette entre-aide qui date du site-du-zéro..
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é.
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...)
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"...
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!)
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 ?
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)
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)