IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Problème récurrent de PATH sous Windows Path, [sous python windows]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2018
    Messages : 16
    Par défaut Problème récurrent de PATH sous Windows Path, [sous python windows]
    Bonjour,

    Cela fait 2 jours que je peine à maintenir le PATH de python, c'est à dire pouvoir exécuter des script directement de mon dossier personnel cela ne fonctionne un hello.py s'exécute une seule fois, et puis plus rien, la fameuse erreur..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    >>> python hello.py
      File "<stdin>", line 1
        python hello.py
               ^
    SyntaxError: invalid syntax

    Pourtant les liens Paths des variables d'environnement sont bien ajoutés, et j'exécute python à l'intérieur de mon dossier perso.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    C:\Program Files\Python39\
    C:\Program Files\Python39\Scripts\
    Avez-vous une idée sur la provenance de ce problème ?
    Désolé je sais que c'est une question bête, mais, je ne trouve pas d'issue..

    Merci pour votre aide.
    Nouveau pythonnien

    Nom : variables_env.png
Affichages : 635
Taille : 21,7 Ko

    Nom : power_shell_python_error.png
Affichages : 615
Taille : 10,6 Ko

    Nom : paths.png
Affichages : 617
Taille : 14,0 Ko

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Lorsque tu invoques l'interpréteur Python dans une console tu dois lui parler en python.

    Donc, ceci est bon:
    et ceci aussi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    vincent@djoliba:~$ python3
    Python 3.8.5 (default, Jul 28 2020, 12:59:40) 
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import hello
    mais pas ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Python 3.8.5 (default, Jul 28 2020, 12:59:40) 
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> python hello.py
      File "<stdin>", line 1
        python hello.py
               ^
    SyntaxError: invalid syntax
    >>>

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Il en faut pas invoquer "python" dans l'interpréteur Python. Quand tu es dans l'interpréteur, tu es déjà dans python donc tu n'as plus besoin de réinvoquer python puisque tu es déjà dedans, juste de taper des instructions python et c'est tout.

    Il y a 2 façons de programmer en Python
    1. dans python lui-même (là où tu vois ">>>"). Là tu peux taper de petites instructions rapides pour regarder le résultat (ex print(tuple(range(10))). Tu peux aussi taper des instructions plus complexes (ex boucles, conditions, fonctions) mais si tu te trompes faut tout retaper donc pas pratique. Et si tu quittes l'interpréteur Python, tu perds tout
    2. en mode script. Là tu crées un fichier nommé "toto.py" ou "titi.py" ou ce que tu veux d'autre. L'extension ".py" n'est pas obligatoire mais simplifie la gestion des fichiers quand tu veux regarder le contenu de ton répertoire (tu vois de suite quoi est quoi). Ce fichier contient tout un code Python complet et comme il est enregistré tu peux le réexécuter quand tu veux ou alors le faire évoluer.
      Et ensuite, pour exécuter ce fichier (ex toto.py) là tu invoques Python pour lui demander de l'exécuter ; et cette invocation est faite depuis l'OS (console cmd sous Windows, fenêtre shell sous Linux). Ex python toto.py. Et si tu rajoutes la ligne #/usr/bin/env python en tout début de script, alors tu peux l'appeler directement sans préciser "python" devant (ex toto.py). Mais cette méthode ne fonctionne que si l'OS sait où se trouve le programme "python.exe" et ça c'est le contenu de la variable PATH qui le lui dit.
      Certains environnements Python (ex idle) permettent aussi d'appeler un script mais ça reste juste une facilité de la méthode ci-dessus
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2018
    Messages : 16
    Par défaut Exécution du script, console ne réagit pas (scraper)
    Bonjour Sve@r,

    Je te remercie pour ta réponse, je viens de tester et ça marche !
    Effectivement, je n'avais jamais fait attention à cette subtilité ! Je croyais qu'on lance tout et les instruction et les fichier ".py" de l'interpréteur..

    Maintenant j'ai un deuxième soucis (je ne sais pas si je dois ouvrir un topique dédié), c'est que quand j'exécute mon code rien ne se passe. Je suis un tuto pour faire un scraper, pour récupérer des données sur une structure html simple de type (table, tbody, tr, td), je n'ai aucune erreur bizarrement..

    Voila le code

    Windows 10
    Librairie Scraper bien importée

    Voila le script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    # -*- coding: utf-8 -*-
    import scrapy
    from scrapy.selector import Selector
     
    class BlogSpider(scrapy.Spider):
        name = 'blogspider'
        start_urls = ['https://www.arar.mom.fr/banadora/echantillon.php?num=22'] 
        def parse(self, response):
            for title in response.css('table'):
                yield {'item': title.css('table ::text').extract_first()}
     
            next_pages = response.css('p > a').extract()
            for index, page in enumerate(next_pages):
                if 'class="active"' in page:
                    n_page = next_pages[index + 1]
                    next_page = Selector(text=n_page).xpath('//a/@href').extract()
                    next_page_url = next_page[0]
                    if index == (len(next_pages) - 1):
                        next_page = False
     
            if next_page:
                yield scrapy.Request(response.urljoin(next_page_url), callback=self.parse)
    Structure à scraper par page
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <table width="100%" border="0" align="center">
    		<tbody>
    			<tr>
    				<td>
    					<table width="100%" border="0">
    						<tbody>
    							<tr>
    								<td width="20%">
    									<img src="flech_do.gif">
    									 <b> Content </b> : 
    								</td>
    								<td>Data</td>
    							</tr>
    							<tr>
    								<td width="20%">
    									<img src="flech_do.gif">
    									 <b> Content</b> : 
    									</td>
    									<td>Data</td>
    								</tr>
    								<tr>
    								<td width="20%">
    									<img src="flech_do.gif">
    									<b> Content </b> : 
    								</td>
    								<td>Data</td>
    							</tr>
                                                   </tbody>
    					</table>
    				</td>
    			</tr>
    		</tbody>
    	</table>

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par linus_minus_11 Voir le message
    Maintenant j'ai un deuxième soucis (je ne sais pas si je dois ouvrir un topique dédié), c'est que quand j'exécute mon code rien ne se passe. Je suis un tuto pour faire un scraper, pour récupérer des données sur une structure html simple de type (table, tbody, tr, td), je n'ai aucune erreur bizarrement..
    Un autre topic permet d'y mettre un titre en rapport avec le souci et donc attirer des lecteurs qui auraient le même problème voir comment il a été résolu.

    Il ne faut pas mélanger "il ne se passe rien" et "il ne s'affiche rien". Un des effets principaux de l'interpréteur Python c'est qu'il affiche par défaut tout ce qui n'est pas "récupéré" d'une façon ou d'une autre. Exemple >>> 2+3 et tu vois apparaitre "5" en dessous car c'est l'interpréteur qui récupère ce résultat et qui l'affiche pour toi. Mais si tu écris 2+3 dans un script Python, tu ne vois rien car l'instruction là n'est pas récupérée par quoi que ce soit et est alors perdue.
    Si tu veux afficher un truc à l'écran depuis un script, tu dois impérativement passer par l'instruction print().

    Accessoirement dans ton script tu définis un objet mais nulle part tu ne l'utilises (aucune instanciation).
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 743
    Par défaut
    Salut,

    Citation Envoyé par linus_minus_11 Voir le message
    Je suis un tuto pour faire un scraper, pour récupérer des données sur une structure html simple de type (table, tbody, tr, td), je n'ai aucune erreur bizarrement..
    Pour se lancer dans ce genre de tuto. il faut avoir pris le temps d'apprendre à programmer avec Python *avant*.

    Sinon effectivement, vous vous posez des questions basiques que ce tuto. là suppose acquises et plutôt que de concentrer toute votre énergie à comprendre ce que çà raconte vous patauger à élucider des tas de sujets connexes.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de clip path SVG sous Chrome
    Par serge-974 dans le forum XML/XSL et SOAP
    Réponses: 0
    Dernier message: 28/05/2010, 12h02
  2. Problème récurrent de compilation sous Dev-C++
    Par Erynvellon dans le forum Dev-C++
    Réponses: 3
    Dernier message: 25/06/2007, 19h51
  3. problème fin de string sous windows 98
    Par LAPLACE dans le forum Windows
    Réponses: 1
    Dernier message: 07/03/2006, 11h09
  4. Problème de mon appli sous windows 2000
    Par chourmo dans le forum Langage
    Réponses: 2
    Dernier message: 17/02/2006, 12h03
  5. problème d'installation module sous windows
    Par Ickou dans le forum Modules
    Réponses: 2
    Dernier message: 21/10/2005, 16h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo