Distinguer la version Python lors de l'utilisation d'IDLE avec ArcGIS Pro et ArcGIS 10.x pour l'architecture de bureau?

9

Je viens de commencer à travailler avec Python 3.4.1 qui vient avec ArcGIS Pro 1.0.0, sur mon ordinateur portable, qui a également Python 2.7.8 qui vient avec ArcGIS 10.3 for Desktop installé, et je voudrais minimiser les chances de fonctionner une version de Python quand j'avais l'intention et besoin d'utiliser l'autre.

Dans l'Explorateur Windows, j'ai maintenant deux dossiers Python: C: \ Python27 et C: \ Python34 qui est à prévoir.

Dans le menu Démarrer de Windows sous Tous les programmes> ArcGIS, il y a un dossier Python 2.7 avec l'IDLE (interface graphique Python) que j'utilise souvent pour démarrer IDLE, donc le démarrer à partir d'ici devrait être bien. J'ai testé et ça démarre 2.7.8.

entrez la description de l'image ici

Je m'attendais à voir le dossier Python 3.4 à côté de Python 2.7 ou peut-être sous Tous les programmes> ArcGIS> ArcGIS Pro, mais il se trouve dans son propre dossier directement sous Tous les programmes. Il contient un autre IDLE (interface graphique Python) qui démarre 3.4.1 comme prévu.

entrez la description de l'image ici

Cependant, les choses deviennent un peu déroutantes lorsque je regarde la liste des programmes dans le menu Démarrer car il y a deux entrées IDLE (GUI Python) parmi lesquelles choisir:

entrez la description de l'image ici

En cliquant avec le bouton droit sur chacun et en utilisant l'onglet Général de leurs propriétés, je les ai renommés pour être appelés respectivement IDLE (Python GUI) 2.7 et IDLE (Python GUI) 3.4, donc il n'y a encore aucune confusion.

entrez la description de l'image ici

L'autre façon dont je démarre habituellement IDLE consiste à cliquer avec le bouton droit sur un fichier * .py puis à choisir Modifier avec IDLE - mais la version Python d'IDLE que j'obtiendrai est maintenant ambiguë. En testant, je trouve que c'est 3.4.1.

entrez la description de l'image ici

Existe-t-il un moyen de transformer mon seul choix de modification avec IDLE en ces deux choix?

  • Modifier avec IDLE 2.7; et
  • Modifier avec IDLE 3.4

Je n'édite jamais avec PythonWin, donc si je suis limité à deux programmes pouvant être associés à des fichiers * .py pour l'édition, je suis heureux de sacrifier Edit with PythonWin pour Edit with Python 3.4.

PolyGeo
la source
1
Pourquoi pas? PythonWin est bien meilleur que IDLE (IMHO) ... Vous devriez être en mesure d'ajouter des actions personnalisées dans l'explorateur et de sélectionner votre "ouvre avec", je me souviens avoir fait cela sur Windows NT et XP pour avoir plusieurs choix d'éditeurs pour la même extension de fichier . Peut-être demander au super-utilisateur ce genre de chose, je ne sais pas où la boîte de dialogue de personnalisation a disparu dans la victoire 7/8 ..
Michael Stimson
@ MichaelMiles-Stimson PythonWin est une installation supplémentaire et IDLE est parfaitement adapté à mes besoins, donc c'est une autre chose que je peux garder vanille.
PolyGeo
Chacun à son propre PolyGeo. J'aime PythonWin parce qu'il a (ou avait à l'époque) un meilleur InteliText, des marqueurs EOL, des guides d'indentation, une vérification de la syntaxe, un avertissement d'indentation incohérent et une fenêtre interactive. Je m'y suis habitué et je n'ai même pas regardé IDLE depuis des années, donc je ne sais pas s'il s'est amélioré depuis ArcGis 9.0.
Michael Stimson
PythonWin a également de grandes capacités de débogage, y compris une fenêtre de surveillance pratique qui vous permet de voir rapidement les valeurs de plusieurs variables
Stephen Lead

Réponses:

8

Tout cela est contrôlé à partir du registre.

Vous pouvez ouvrir le registre et rechercher HKEY_CLASSES_ROOT\\Python.File\\shell\\Edit with Idleet renommer ce dossier en quelque chose commeEdit with Idle 2.7

Vous pouvez ensuite ajouter une nouvelle clé de registre (par exemple, copiez-la dans le bloc-notes et enregistrez-la sous "Idle3.4.reg", puis double-cliquez pour installer la clé de registre)

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Python.File\shell\Edit with IDLE 3.4\command]
@="\"C:\\Python34\\pythonw.exe\" \"C:\\Python34\\Lib\\idlelib\\idle.pyw\" -e \"%1\""

Cela va sans dire, mais je le dirai quand même - ne jouez pas dans votre registre à moins que vous soyez à l'aise que vous puissiez casser quelque chose et avoir du mal à le remonter.

KHibma
la source
9

Ce n'est pas exactement ce que vous avez demandé, mais une solution de contournement pourrait être d'ajouter les deux instances IDLE à votre option de menu contextuel Envoyer vers .

  • ouvrez% APPDATA% \ Microsoft \ Windows \ SendTo
  • choisissez> Nouveau> Raccourci
  • spécifiez le chemin et la commande pour IDLE, par exemple C:\Python27\ArcGIS10.2\pythonw.exe "C:\Python27\ArcGIS10.2\Lib\idlelib\idle.pyw"
  • répéter pour l'autre version IDLE

entrez la description de l'image ici

Maintenant, lorsque vous cliquez avec le bouton droit sur un script Python, vous devez avoir l'option Envoyer vers l'une ou l'autre version IDLE:

entrez la description de l'image ici

Stephen Lead
la source
1
C'est à cela que je pensais, de cette façon, vous pouvez décider dans le menu contextuel quelle version utiliser. Vous pouvez utiliser un fichier batch pour définir les chemins d'accès de chaque version pour vous assurer que chaque version ne trouve que l'installation correcte de python et ignore parfaitement l'autre, puis appelez start <idle>% 1 sur la dernière ligne ... voyez comment vous allez d'abord, si vous avez des problèmes avec l'interpréteur pour trouver l'autre installation, faites le raccourci dans un fichier batch.
Michael Stimson
1
Comme solution de contournement, cela me fera du bien. Je voterai, accepterai et ne modifierai mon acceptation que si quelqu'un propose un moyen d'éviter ce clic supplémentaire sur Envoyer à. Merci!
PolyGeo
3
@PolyGeo Oui, cela peut être fait sans utiliser Send To, mais c'est (peut être) un peu plus compliqué que cette méthode car vous devez faire une modification du registre. Un menu contextuel est appelé menu contextuel. Ils font quelques utilitaires d'édition pour les modifier, et vous pouvez trouver un tutoriel ici . Je posterais une réponse complète mais je suis paresseux et techniquement c'est le territoire SuperUser.
Chris W
Merci @ChrisW J'ai suivi les instructions sur le lien de votre tutoriel et j'ai pu obtenir précisément le menu contextuel que je recherchais.
PolyGeo
2

Ma configuration utilise maintenant ArcGIS 10.4.1 for Desktop et ArcGIS Pro 1.3.

Il semble que les installations de ces deux architectures soient désormais plus soigneuses, car lorsque je clique avec le bouton droit sur un fichier * .py, j'ai le choix entre Modifier avec IDLE ou Modifier avec IDLE (ArcGIS Pro).

entrez la description de l'image ici

Modifier avec IDLE s'ouvre avec Python 2.7.10:

entrez la description de l'image ici

Modifier avec IDLE (ArcGIS Pro) s'ouvre avec Python 3.4.4:

entrez la description de l'image ici

PolyGeo
la source