Встановлення декількох версій Python у Windows за допомогою Virtualenv

Ви тут, тому що:

  1. Ви використовуєте ОС Windows версії 10+
  2. Ви хотіли б використовувати кілька версій Python на одному комп'ютері
  3. Ви втомилися від Інтернету, який говорить вам "Просто використовуйте Virtualenv"

TL; DR

  1. Відкрийте Command Promptта введітьpip install virtualenv
  2. Завантажте бажану pythonверсію (НЕ додайте до PATH!) Та пам’ятайте path\to\new_python.exeпро нещодавно встановлену версію
  3. Щоб створити virtualenv, відкрийте Command Promptта введіть

    virtualenv \path\to\env -p path\to\new_python.exe

  4. Якщо ви використовуєте PyCharm, оновіть Project Interpreterі Code compatibility inspection.
  5. Щоб встановити пакети:

    (I) Активуйте virtualenv: відкрийте Command Promptта введітьpath\to\env\Scripts\activate.bat

    (II) Встановіть бажані пакунки

    (III) Вимкнути за допомогою deactivate.

Довга версія; Читайте

Пролог

Якщо ви використовуєте додаток Anaconda, цей процес може бути простішим за допомогою їх графічного інтерфейсу. Я не пробував сам, будь ласка, дайте мені знати, як це було, якщо ви їдете цією дорогою :)

1. Встановіть virtualenv

Якщо у вас вже є деякі віртуальні середовища або ви використовуєте Anaconda, переконайтеся, що наступні кроки виконуються поза межами всіх цих середовищ.

2. Встановіть Python

Ви можете завантажити python з офіційного сайту, наприклад для python3.7.3переходу сюди.

Викликається файл, який ви повинні завантажити Windows x86–64 executable installer, або Windows x86 executable installerякщо з якихось причин ви використовуєте 32-розрядні вікна.

Після завершення завантаження відкрийте виконуваний файл і з’явиться підказка про встановлення.

  • Ви НЕ хочете додавати новий python до свого PATH, оскільки у нас буде кілька версій python на одному комп'ютері, і ми хотіли б, щоб кожна програма знала лише одну версію python.
  • Або використовуйте місце, яке пропонується за замовчуванням для нового пітона, або надайте вибране місце. У будь-якому випадку, пам’ятайте це місце і давайте позначатимемо його відтепер за допомогою C:\\Python37.

3. Створіть virtualenv

Відкрийте Command Prompt, або якщо ви використовуєте Anaconda, відкрийте Anaconda Prompt.

Вирішіть, де ви хочете, щоб ваш virtualenv був, наприклад,

C:\Users\\Anaconda3\envs\ .

Введіть:

virtualenv C:\Users\\Anaconda3\envs\ -p C:\\Python37\python.exe

4. Оновіть PyCharm Interpreter

Якщо ви використовуєте PyCharm, відкрийте проект, над яким ви хотіли б працювати (тобто / буде записаний у новій версії python), і File -> Settings -> Project -> Project Interpreterнатисніть, а потім натисніть піктограму шестірні Add...

Це відкриє вікно підказки, яке дозволяє визначити нового інтерпретатора:

Припускаючи, що ви використовуєте перевірку коду, можливо, вам доведеться повідомити PyCharm, яку версію python перевіряти. Перейдіть до File -> Settings-> Editor -> Inspections -> Python -> Code compatibility Inspection, переконайтеся, що у полі у верхній частині вказано конкретний проект, над яким ви працюєте, і поставте галочку у вашій версії python.

5. Встановіть пакети

Наразі ваш virtualenvмістить лише найважливіші пакунки, pipі setuptools. Щоб встановити більше пакетів:

  1. Відкрийте Command Promptабо Anaconda Promptта активуйте свій virtualenv, ввівши

    C:\Users\\Anaconda3\envs\\activate.bat

  2. Використовуйте pipдля встановлення пакунків, як зазвичай.
  3. Деактивуйте свій virtualenv, ввівши deactivate.

Епілог

Сьогодні вранці, коли я вирішив відкрити новий проект з іншою версією python, я подумав: "Так, я просто використаю virtualenv", тому що Інтернет сказав, що я можу "Просто зробити це".

Ну, це працює зараз, тож ніяких переживань, дорогий Інтернет, але серйозно, чи справді виправдано було "Просто"? Чи переустановка перевірок PyCharm-only-because-I-хочу-мати-належний-код підпадає під категорію "Просто" ??

У будь-якому випадку, по дорозі я натрапив на декілька корисних путівників, але кожен з них завів мене "лише" на один крок шляху, тому я вирішив поставити все це в одному місці.

Сподіваюсь, моя подорож допомогла вам із вашим, і нехай ми всі насолоджуємось щасливим кодуванням, з якомога меншим IT-тертям: D