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

EDI/RAD Python Discussion :

Ouvrir avec IDLE


Sujet :

EDI/RAD Python

  1. #21
    Membre confirmé
    Homme Profil pro
    Développeur banc de test
    Inscrit en
    Mai 2014
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur banc de test
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2014
    Messages : 199
    Points : 482
    Points
    482
    Par défaut
    Bonjour,

    Je prend le fil de la discussion désolé si certains points ont déjà été évoqués.

    Moi aussi j'utilise l'IDLE il est pratique et léger, tout comme Thonny que j'ai découvert sur Raspberry Pi.

    L'appel de l'IDLE est un peu compliqué car il n'est pas compilé il faut donc l'appeler depuis python et y passer les arguments, le fichier à ouvrir.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "chemin_python\pythonw.exe" "chemin_python\Lib\idlelib\idle.pyw" "fichier_à_ouvrir"
    Par exemple :
    "C:\Program Files\Python37\pythonw.exe" "C:\Program Files\Python37\Lib\idlelib\idle.pyw" "D:\mon_script.py"


    pythonw pour masquer la console de l'appel de l'idle, et le dernier argument qui sera passé au script idle afin d'ouvrir le script à éditer.


    Il faut reconnaitre que depuis la disparition de l'éditeur avancé des extensions comme sur Windows XP on doit désormais passer par le registre pour faire ça.


    Au niveau du registre sous Windows, tous les choix du menu contextuel associé à une extension se trouve dans : HKEY_CLASSES_ROOT

    Soit la définition du shell se trouve directement dans l'extension

    par exemple pour toutes les extensions[*] :

    HKEY_CLASSES_ROOT\*\shell\Notepad++\command

    Soit la définition de l'extension est déplacé sous une autre référence, ce qui est généralement le cas pour .py, sa valeur par défaut est : Python.File

    Il faut donc se rendre dans la clé : HKEY_CLASSES_ROOT\Python.File

    On peut ensuite définir :

    HKEY_CLASSES_ROOT\Python.File\shell\open

    open pour choisir comment ouvrir le fichier en double-cliquant ou en l'appelant depuis la console.

    La clé command sous open permet de définir la commande à passer pour ouvrir le fichier
    par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\Windows\py.exe" "%L" %*

    HKEY_CLASSES_ROOT\Python.File\shell

    shell pour proposer plusieurs options dans le menu contextuel, clic-droit.

    Voici comment proposer l'édition avec l'IDLE :

    HKEY_CLASSES_ROOT\Python.File\shell\editwithidle\command

    Il faut créer une clé sous shell : par exemple editwithidle

    Dans cette clé la valeur par défaut sera le nom affiché dans le shell: Edit with IDLE

    Et ensuite créer la sous-clé : command

    Et mettre comme valeur par défaut :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "chemin_python\pythonw.exe" "chemin_python\Lib\idlelib\idle.pyw" "%L" %*
    Habituellement pour passer un seul argument, celui du fichier, c'est "%1"

    De ce que j'ai compris "%L" %* permet de faire passer tous les arguments, passées par exemple dans un raccourci.

    Note importante : Bien penser à mettre tous les chemins entre guillemets s'ils contiennent des espaces.


    En fichier .reg ça donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Windows Registry Editor Version 5.00
     
    [HKEY_CLASSES_ROOT\Python.File\shell\editwithidle]
    @="Edit with IDLE"
     
    [HKEY_CLASSES_ROOT\Python.File\shell\editwithidle\command]
    @="\"C:\\Program Files\\Python37\\pythonw.exe\" \"C:\\Program Files\\Python37\\Lib\\idlelib\\idle.pyw\" \"%L\" %*"
    En espérant que ça règle votre problème

  2. #22
    Membre actif
    Profil pro
    Inscrit en
    Février 2003
    Messages
    926
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 926
    Points : 273
    Points
    273
    Par défaut
    Merci beaucoup pour cette réponse détaillée.

    j'ai donc été dans le registre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HKEY_ROOT_CLASSES  --> Python.File --> Shell --> editwithidle --> shell --> Edit37 --> command
    et j'ai cliqué sur (par defaut). J'ai ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\Users\myNameAppData\Local\Programs\Python\Python37\pythonw.exe" -m idlelib "%L" %*
    et dans :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HKEY_ROOT_CLASSES  --> Python.File --> Shell --> open --> command
    j'ai ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\WINDOWS\py.exe" "%L" %*
    Quand j'exporte le registre et que je le consulte dans le bloc-notes, je visualise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [HKEY_CLASSES_ROOT\Python.File\Shell\editwithidle]
    "MUIVerb"="&Edit with IDLE"
    "Subcommands"=""
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [HKEY_CLASSES_ROOT\Python.File\Shell\editwithidle\shell\edit37\command]
    @="\"C:\\Users\\myName\\AppData\\Local\\Programs\\Python\\Python37\\pythonw.exe\" -m idlelib \"%L\" %*"

    Chez moi, Python n'a pas été installé dans Program Files mais dans Appdata.
    Pourriez-vous me dire ce que je dois modifier pour que mon IDLE s'exécute, svp ?

  3. #23
    Membre confirmé
    Homme Profil pro
    Développeur banc de test
    Inscrit en
    Mai 2014
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur banc de test
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2014
    Messages : 199
    Points : 482
    Points
    482
    Par défaut
    Bon, je viens de tester en installant Python 3.7.0 x64 sur Windows 7 Home SP1, ça m'a créé exactement la même structure que vous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Windows Registry Editor Version 5.00
     
    [HKEY_CLASSES_ROOT\Python.File\shell\editwithidle]
    "MUIVerb"="&Edit with IDLE"
    "Subcommands"=""
     
    [HKEY_CLASSES_ROOT\Python.File\shell\editwithidle\shell]
     
    [HKEY_CLASSES_ROOT\Python.File\shell\editwithidle\shell\edit37]
    "MUIVerb"="Edit with IDLE 3.7 (64-bit)"
     
    [HKEY_CLASSES_ROOT\Python.File\shell\editwithidle\shell\edit37\command]
    @="\"C:\\Program Files\\Python37\\pythonw.exe\" -m idlelib \"%L\" %*"


    Dans le menu contextuel j'ai bien un menu en cascade qui permet de pouvoir gérer plusieurs versions de python pour l'IDLE : Edit with IDLE -> Edit with IDLE 3.7 (64-bit)

    Sur un fichier .py tout s'ouvre normalement, par contre sur un raccourci d'un script .py rien ne se passe, ça n'ouvre pas le fichier...
    pourtant la commande est valide mais elle n'est pas appelée, j'ai vérifié avec Process Monitor.


    Je viens de voir qu'un ticket est ouvert depuis 2015 sur la version 3.5.0, probablement depuis qu'ils ont intégrés le menu contextuel en cascade (au passage ça existe depuis XP).

    https://bugs.python.org/issue25125

    Citation Envoyé par msg251794
    When accessed from the file itself, this works fine in both Windows 7 SP1 and Windows 10 RTM. When accessed from a shortcut, the command works in Windows 10 but does nothing in Windows 7. This independently confirms the issue reported by Thijs as a Windows 7 bug/limitation.
    Dans votre cas confirmez-vous que ça fonctionne sur un fichier .py directement ?

    Si ce n'est pas le cas je pense que c'est le chemin python qui n'est pas bon.
    Au vue de votre chemin c'est une installation pour un seul utilisateur plutôt que pour tous, ça explique aussi pourquoi ce n'est pas dans Program Files.

    Je vous invite à réinstaller Python pour tous les utilisateurs ça devrait régler votre problème.

    Concernant la limitation sur Windows 7 pour les raccourcis le seul moyen est de ne pas passer par un menu en cascade, il faut donc le faire soi-même en registre comme mon exemple cité dans mon premier message.

  4. #24
    Membre actif
    Profil pro
    Inscrit en
    Février 2003
    Messages
    926
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 926
    Points : 273
    Points
    273
    Par défaut
    Citation Envoyé par YCL-1 Voir le message
    Je vous invite à réinstaller Python pour tous les utilisateurs ça devrait régler votre problème.
    J'ai essayé cette solution mais ça ne marche pas non plus. J'ai essayé aussi d'installer python dans ProgramFiles, et j'ai obtenu le code erreur 0x80072ee7 - Erreur non spécifiée.
    Peut-être que mon problème est lié. Le mieux serait de réinitialiser Windows. Mais je crois que pour le moment je vais en rester là, et tester l'éditeur VIM en remplacement de IDLE.
    Merci beaucoup pour votre aide.

  5. #25
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut ouvrir IDLE à partir d'un fichier .py
    Bonjour.

    Sur
    WINDOWS 10
    Python 3.8


    Je rejoins Arsene 12.

    Depuis que j'ai installé Python 3.8 sous Windows 10, quand je suis dans un répertoire personnel et que je double-clique sur mon fichier .py et bien celui-ci s'ouvre en mode "run" et pas en mode IDLE.
    Pour ouvrir IDLE, je dois passer par le raccourci bureau installé "IDLE (Python 3.8 64-bit)". J'obtiens une page IDLE vierge et ensuite je dois faire open file puis naviguer avec l'explorateur. Ce qui vous en conviendrez fait faire un peu plus de manœuvres.

    Je précise qu'avec Python 3.7 portable ce n'est pas le cas: ouvrir avec>IDLE-Launcher.exe et, pof!, c'était bon.

    Le seul paramétrage qui fonctionne c'est Windows>Ouvrir avec...> *chemin répertoire*...>idle.bat. Mais le hic c'est que l'icône du fichier .py devient une pâle image insipide d'engrenages (.bat) et que donc j'ai perdu l'icône du roi de la jungle amazonienne !

    J'ai tenté avec pyinstaller de faire de mon idle.py un idle.exe. Problème: l'arborescence créée reste obsolète quelque soit l'emplacement du idle.exe pour exécuter IDLE.


    Mais, j'ai quand même fini par trouver une solution bien qu'elle soit de fortune.
    (Je la fais vite car c'est peut-être pas l'espace dédié mais si ça intéresse quelqu'un...)

    1.Créer un idle.exe à partir de idle.bat. S'assurer qu'il soit dans le même dossier.
    2. Ce faisant choisir l'icône idle.ico pour idle.exe
    3. MonFichier.py>Ouvrir avec...>Choisir cette application...>Parcourir>idle.exe
    4. Facultatif: idle.exe>Envoyer vers>Bureau pour avoir le raccourci

    Résultat: les fichiers .py perso prennent l'icône IDLE Python et quand on double-clique dessus, c'est bien la page codée (writing) qui s'ouvre et non pas une IDLE vierge.

    Voilà.

Discussions similaires

  1. Ouvrir un module .py avec Idle en mode interactif.
    Par cabon dans le forum Général Python
    Réponses: 5
    Dernier message: 19/08/2018, 10h51
  2. Comment démarrer l'application avec "Ouvrir avec" ?
    Par chourmo dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 15/11/2005, 17h01
  3. Forcer une page à s'ouvrir avec Internet Explorer
    Par alexbubs dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 31/10/2005, 10h32
  4. Image ouvrir avec
    Par andolini dans le forum Windows
    Réponses: 3
    Dernier message: 02/09/2005, 15h07
  5. Ouvrir avec du menu contextuel
    Par Furius dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 27/08/2005, 16h03

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