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 :

Impossible d'ouvrir un fichier python (Invite de commande s'ouvre et se ferme automatiquement)


Sujet :

Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2024
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2024
    Messages : 4
    Par défaut Impossible d'ouvrir un fichier python (Invite de commande s'ouvre et se ferme automatiquement)
    Bonjour,

    Lorsque j'essaie d'ouvrir un fichier .py, l'invite de commande s'ouvre et se ferme automatiquement.

    Ces fichiers s'ouvrent correctement dans des logiciels comme "Sublime Text" ou bien "PyCharm".

    Pour certains fichiers, j'ai trouvé l'astuce d'écrire input() à la fin du code pour permettre l'affichage du document, mais cela ne fonctionne pas sur tous étrangement.

    Aussi, lorsque je souhaite ouvrir un fichier .py depuis l'invite de commande, j'ai le message d'erreur "[Errno 2] No such file or directory", alors que le chemin d'accès de Python a bien été rentré dans le PATH des variables d'environnement.

    Python 3.12.1 est installé sur mon PC Windows 11. (J'ai même essayé d'installer d'autres versions de Python sans succès)

    Merci de votre aide

    Damien

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 800
    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 800
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par PianoAmarillo Voir le message
    Lorsque j'essaie d'ouvrir un fichier .py, l'invite de commande s'ouvre et se ferme automatiquement.
    Oui, ça ouvre le programme dans une fenêtre MsDos puis il se termine donc la fenêtre se referme.

    Citation Envoyé par PianoAmarillo Voir le message
    Ces fichiers s'ouvrent correctement dans des logiciels comme "Sublime Text" ou bien "PyCharm".
    Et donc ? Que ça fonctionne avec Y n'a aucun impact sur le souci de X

    Citation Envoyé par PianoAmarillo Voir le message
    Pour certains fichiers, j'ai trouvé l'astuce d'écrire input() à la fin du code pour permettre l'affichage du document
    Le input() attend une saisie, ce qui fait que le programme ne se termine pas donc la fenêtre ne se ferme pas.

    Citation Envoyé par PianoAmarillo Voir le message
    , mais cela ne fonctionne pas sur tous étrangement.
    Ceux où ça ne fonctionne pas contiennent une erreur dans leur code => le code ne s'exécute donc pas donc le input() n'est pas traité

    Citation Envoyé par PianoAmarillo Voir le message
    Aussi, lorsque je souhaite ouvrir un fichier .py depuis l'invite de commande, j'ai le message d'erreur "[Errno 2] No such file or directory", alors que le chemin d'accès de Python a bien été rentré dans le PATH des variables d'environnement.
    Ce n'est pas le chemin de Python qui compte mais le chemin contenant le fichier .py (ben oui, c'est lui que tu veux ouvrir !!!)
    Et comme ce chemin n'est pas dans le PATH, il te faut le nommer explicitement lors de l'appel. Fort heureusement il existe le raccourci "." (point) qui symbolise le répertoire courant.

    Citation Envoyé par PianoAmarillo Voir le message
    (J'ai même essayé d'installer d'autres versions de Python sans succès)
    Normal puisque ce n'est pas Python qui est en cause.
    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]

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2024
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2024
    Messages : 4
    Par défaut
    Bonjour,

    Merci pour toutes ces informations précieuses !

    Je viens de réussir à ouvrir un fichier python, seulement en écrivant le chemin d'accès de manière complète.

    Je pensais qu'il était possible d'ouvrir le fichier seulement en écrivant "python nomdufichier.py" (étant donné que mon fichier se trouve dans mon répertoire courant).

    J'ai essayé alors d'insérer le "." juste avant le nom du fichier pour éviter de devoir écrire toute l'arborescence du document mais cela me renvoie toujours au même message d'erreur :

    "python: can't open file 'C:\\Users\\X\\animal.py': [Errno 2] No such file or directory"

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 800
    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 800
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par PianoAmarillo Voir le message
    Je pensais qu'il était possible d'ouvrir le fichier seulement en écrivant "python nomdufichier.py" (étant donné que mon fichier se trouve dans mon répertoire courant).
    Il y a deux façons d'appeler un script Python
    1. écrire effectivement python script.py (en veillant à bien nommer le fichier "script.py" selon l'endroit où il se trouve). Et pour que l'OS sache où se trouve le programme "python.exe" il faut avoir positionné cet emplacement dans le PATH (ou alors on précise le chemin lors de l'appel)
    2. appeler directement le script. Mais dans ce cas (comme dans le précédent), il faut que le chemin contenant "script.py" soit précisé dans le PATH ou alors spécifier ce chemin lors de l'appel (et c'est là que "." entre en jeu car il représente bel et bien un chemin donc on a le droit d'écrire .\script.py)
      Mais cette seconde technique ne fonctionne que si l'OS sait associer le fichier "script.py" à Python. Et cette association se fait dans le script lui-même via sa première ligne #!/usr/bin/env python.


    Citation Envoyé par PianoAmarillo Voir le message
    J'ai essayé alors d'insérer le "." juste avant le nom du fichier pour éviter de devoir écrire toute l'arborescence du document mais cela me renvoie toujours au même message d'erreur :

    "python: can't open file 'C:\\Users\\X\\animal.py': [Errno 2] No such file or directory"
    Il y a réellement un fichier nommé "animal.py" situé dans le dossier "C:\Users\X" ? Accessoirement je suis dubitatif sur le doublement des backslashes dans le message d'erreur.

    Mais bon, revenons aux fondamentaux: cet exemple s'applique parfaitement donc voici les façons d'appeler ton script
    • python c:\users\X\animal.py
    • python animal.py (si tu te trouves dans l'emplacement contenant le script)
    • c:\users\X\animal.py (si le script contient cette première ligne #!/usr/bin/env python)
    • .\animal.py (avec la même contrainte de cette première ligne et si tu te trouves dans l'emplacement contenant le script)
    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]

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2024
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2024
    Messages : 4
    Par défaut
    Merci encore pour ta réponse !

    Alors je peux lancer le fichier python de ces deux manières là :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    python "c:\users\X\animal.py"


    Le dossier où se trouve mon fichier est écrit dans le PATH.

    Le fichier est introuvable si j'écris au lieu de L'utilisation des guillemets est primordiale pour que ma commande marche en écrivant le chemin d'accès absolu ou relatif au fichier.

    J'apporte une précision au cas où, le script ne contient pas la première ligne suivante
    En tout cas, je sais comment faire maintenant, encore merci !

  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 800
    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 800
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par PianoAmarillo Voir le message
    Le dossier où se trouve mon fichier est écrit dans le PATH.
    Ce n'est pas obligatoire, le PATH est là uniquement si on ne donne pas le chemin d'appel. A noter que sous Unix il est possible de rajouter "." dans le PATH, signifiant alors que tout script appelé sera alors aussi cherché dans le dossier courant. Ce n'est pas positionné par défaut car cela constitue une faille de sécurité mais le PATH est modifiable par son propriétaire qui peut alors le faire manuellement.
    Je ne sais pas si Windows prendrait en considération "." si celui-ci est dans le PATH. J'aurais tendance à dire "oui" par atavisme mais peut-être que Windows a une sécurité supplémentaire qui refuserait cette option.

    Citation Envoyé par PianoAmarillo Voir le message
    Le fichier est introuvable si j'écris au lieu de
    Là je trouve ça super bizarre. Normalement, si "animal.py" se trouve dans ton dossier courant (ou dit dans l'autre sens si ta fenêtre MsDos te place dans le dossier contenant "animal.py") ça doit fonctionner. Tu devrais essayer de creuser ce point car il peut être un signe d'un souci de configuration (ou juste de compréhension).
    Nom : msdos.jpg
Affichages : 841
Taille : 104,7 Ko

    Citation Envoyé par PianoAmarillo Voir le message
    L'utilisation des guillemets est primordiale pour que ma commande marche en écrivant le chemin d'accès absolu ou relatif au fichier.
    Uniquement si ce chemin contient des espaces dans son nom. Mais c'est une bonne habitude de les mettre tout le temps.

    Citation Envoyé par PianoAmarillo Voir le message
    J'apporte une précision au cas où, le script ne contient pas la première ligne suivante
    Ca c'est bien dommage. Ca ne coûte rien de le mettre, ça donne une indication aux autres lecteurs et ça permet d'appeler le script directement sans avoir besoin de mettre "python" devant. Et ça rend aussi le script portable (si un jour il doit tourner sous Linux, il n'y aura pas d'association Windows pour pallier ce manque).
    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]

  7. #7
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 180
    Par défaut
    Hello,
    Citation Envoyé par Sve@r Voir le message
    Oui, ça ouvre le programme dans une fenêtre MsDos puis il se termine donc la fenêtre se referme.
    Juste une petite rectification, le MsDos çà n'existe plus sous windows, au lieu de dire fenêtre MsDos, il faut dire fenêtre Console ou invite de commande.
    Ami calmant, J.P

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2024
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2024
    Messages : 4
    Par défaut
    Là je trouve ça super bizarre. Normalement, si "animal.py" se trouve dans ton dossier courant (ou dit dans l'autre sens si ta fenêtre MsDos te place dans le dossier contenant "animal.py") ça doit fonctionner. Tu devrais essayer de creuser ce point car il peut être un signe d'un souci de configuration (ou juste de compréhension).
    Oui, tu as raison, je me suis emmêlé les pinceaux entre le répertoire courant et le répertoire dans le PATH. Le fichier se trouve dans un sous-dossier du répertoire courant (qui lui est inscrit dans le PATH) mais n'est donc pas directement dans le répertoire courant.

    Uniquement si ce chemin contient des espaces dans son nom. Mais c'est une bonne habitude de les mettre tout le temps.
    Merci, c'est bon à savoir.

    Ca c'est bien dommage. Ca ne coûte rien de le mettre, ça donne une indication aux autres lecteurs et ça permet d'appeler le script directement sans avoir besoin de mettre "python" devant. Et ça rend aussi le script portable (si un jour il doit tourner sous Linux, il n'y aura pas d'association Windows pour pallier ce manque).
    Entendu, je comprends maintenant l'importance de cette première ligne.

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/08/2008, 21h19
  2. Réponses: 7
    Dernier message: 20/01/2007, 19h00
  3. Impossible d'ouvrir un fichier access
    Par squale32 dans le forum Access
    Réponses: 4
    Dernier message: 13/09/2006, 12h26
  4. impossible d'ouvrir le fichier
    Par michel71 dans le forum Langage
    Réponses: 8
    Dernier message: 05/05/2006, 11h20
  5. IE : impossible d'ouvrir un fichier
    Par alexixlebaulois dans le forum Autres Logiciels
    Réponses: 6
    Dernier message: 23/12/2005, 11h08

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