Розрізняти версію Python при використанні IDLE з ArcGIS Pro та ArcGIS 10.x для архітектури робочого столу?


9

Я щойно почав працювати з Python 3.4.1, який постачається з ArcGIS Pro 1.0.0, на своєму ноутбуці, на якому також є Python 2.7.8, який поставляється з встановленим ArcGIS 10.3 для робочого столу, і я хотів би мінімізувати шанси на запуск одна версія Python, коли я мав намір і потребував використання іншої.

У Windows Explorer тепер у мене є дві папки Python: C: \ Python27 та C: \ Python34, яких слід очікувати.

У меню "Пуск Windows" у розділі Усі програми> ArcGIS є папка Python 2.7 з IDLE (Python GUI), яку я часто використовую для запуску IDLE, тому запуск її звідси повинен бути добре. Я тестував, і він починається 2.7.8.

введіть тут опис зображення

Я очікував побачити папку Python 3.4 поруч із Python 2.7 або, можливо, в розділі Усі програми> ArcGIS> ArcGIS Pro, але він знаходиться у власній папці безпосередньо під Усі програми. Він містить ще один IDLE (Python GUI), який запускається 3.4.1, як очікувалося.

введіть тут опис зображення

Однак речі стають трохи заплутаними, коли я переглядаю список програм у меню "Пуск", оскільки на вибір є два записи IDLE (Python GUI):

введіть тут опис зображення

Клацнувши правою кнопкою миші на кожній кнопці та користуючись вкладкою Загальні їх властивості, я перейменував їх на позицію IDLE (Python GUI) 2.7 та IDLE (Python GUI) 3.4 відповідно, щоб знову не було плутанини.

введіть тут опис зображення

Інший спосіб, за допомогою якого я зазвичай запускаю IDLE, - клацнувши правою кнопкою миші файл * .py, а потім вибравши «Правка за допомогою IDLE», але версія Python IDLE, яку я отримаю, тепер неоднозначна. Тестуючи, я виявляю, що це 3.4.1.

введіть тут опис зображення

Чи є спосіб, який я міг би перетворити один варіант редагування з IDLE в ці два варіанти?

  • Редагувати за допомогою IDLE 2.7; і
  • Редагувати за допомогою IDLE 3.4

Я ніколи не редагую з PythonWin, тому якщо я обмежений двома програмами, які можуть бути пов’язані з * .py файлами для редагування, то я радий пожертвувати Edit з PythonWin for Edit with Python 3.4.


1
Чому ні? PythonWin набагато краще, ніж IDLE (IMHO) ... Ви повинні мати можливість додавати власні дії в Explorer і вибирати "відкривається", я пам'ятаю, що в Windows NT та XP було багато варіантів редакторів для одного і того ж розширення файлу . Можливо, поцікавтеся у суперпользователя про такі речі, я не впевнений, куди зник діалог налаштування, щоб перемогти 7/8 ..
Майкл Стімсон,

@ MichaelMiles-Stimson PythonWin - це додаткова установка, і IDLE цілком підходить для моїх цілей, тому використовуючи це ще одне, що я можу зберегти ваніль.
PolyGeo

У кожного свій PolyGeo. Мені подобається PythonWin, тому що він (або мав на той час) кращий InteliText, EOL-маркери, посібники з відступом, перевірка синтаксису, непослідовне попередження відступу та інтерактивне вікно. Я звик до цього і навіть не дивився на IDLE роками, тому не знаю, чи покращився він з ArcGis 9.0.
Майкл Стимсон

PythonWin також має чудові можливості налагодження, включаючи зручне вікно перегляду, яке дозволяє швидко бачити декілька значень змінних
Stephen Lead

Відповіді:


8

Це все контролюється з реєстру.

Ви можете відкрити реєстр, знайти HKEY_CLASSES_ROOT\\Python.File\\shell\\Edit with Idleта перейменувати цю папку на щось подібнеEdit with Idle 2.7

Потім ви можете додати новий ключ рег. (Наприклад, скопіюйте його в блокнот і збережіть як "Idle3.4.reg", а потім двічі клацніть, щоб встановити ключ reg)

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\""

Само собою зрозуміло, але я все одно скажу - не грайте у своєму реєстрі, якщо вам не зручно, що ви можете щось зламати і у вас виникнуть проблеми зібрати його знову.


9

Це не саме те, про що ви просили, але вирішенням може бути додавання обох екземплярів IDLE до опції контекстного меню " Надіслати ".

  • відкрити% APPDATA% \ Microsoft \ Windows \ SendTo
  • виберіть> Нове> Ярлик
  • вкажіть шлях та команду для IDLE, наприклад C:\Python27\ArcGIS10.2\pythonw.exe "C:\Python27\ArcGIS10.2\Lib\idlelib\idle.pyw"
  • повторити для іншої версії IDLE

введіть тут опис зображення

Тепер, коли ви клацніть правою кнопкою миші на скрипті Python, вам доведеться мати можливість надіслати будь-яку версію IDLE:

введіть тут опис зображення


1
Ось що я думав, тому ви можете в контекстному меню визначити, яку версію використовувати. Ви можете використовувати пакетний файл, щоб встановити шляхи до кожної версії, щоб гарантувати, що кожна версія знайде лише правильну установку python та невідомо про іншу, а потім зателефонуйте start <idle>% 1 в останньому рядку ... дивіться, як Ви йдете першим, якщо у вас виникли проблеми з перекладачем при пошуку іншої установки, зробіть ярлик у пакетний файл.
Майкл Стимсон

1
Як вирішення, яке добре зробить мене. Я схвалюю, приймаю і змінюю лише те, якщо хтось прийде разом із способом уникнути цього зайвого Send To click. Дякую!
PolyGeo

3
@PolyGeo Так, це можна зробити без використання Send To, але він (може бути) трохи більше задіяний, ніж цей метод, як ви повинні зробити деякі редагування реєстру. Меню правої кнопки миші відоме як контекстне меню. Вони роблять деякі утиліти редактора, щоб змінити їх, і ви можете знайти підручник тут . Я б опублікував повну відповідь, але я лінивий і технічно це територія SuperUser.
Кріс Ш

Дякуємо @ChrisW, я дотримувався вказівок на вашому посібнику та зміг отримати саме контекстне меню, яке було після мене.
PolyGeo

2

Зараз у моїй конфігурації використовується ArcGIS 10.4.1 для Desktop та ArcGIS Pro 1.3.

Виглядає так, що встановлення цих двох архітектур тепер піклується про те, що коли я клацну правою кнопкою миші на файл * .py, мені пропонують вибір "Редагувати з IDLE" або "Редагувати з IDLE" (ArcGIS Pro).

введіть тут опис зображення

Відкриття редагування за допомогою IDLE за допомогою Python 2.7.10:

введіть тут опис зображення

Відкривається редагування за допомогою IDLE (ArcGIS Pro) з Python 3.4.4:

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.