- Установка нескольких версий Python в Windows с помощью Virtualenv
- TL; DR
- Длинная версия; Читать
- пролог
- 1. Установите virtualenv
- 2. Установите Python
- 3. Создать virtualenv
- 4. Обновите интерпретатор PyCharm
- 5. Установите пакеты
- Установка и использование модуля virtualenv для Python.
- Установка virtualenv в Python 2.7.
- Использование virtualenv.
- Справочное руководство virtualenv.
- Virtualenv: руководство по виртуальному окружению Python
- Установка virtualenv
- Создание виртуального окружения
- Активация виртуального окружения
- Деактивация виртуального окружения
- Установка и использование virtualenv в Python
- Отличия virtualenv и venv
- Установка virtualenv с помощью pip
- Создание виртуальной среды
- Деактивации virtualenv
- Удаление виртуальной среды
- Решение популярных ошибок
- Подписывайтесь на канал в Дзене
Установка нескольких версий Python в Windows с помощью Virtualenv
Вы здесь, потому что:
- Вы используете ОС Windows версии 10+
- Вы хотели бы использовать несколько версий Python на одном компьютере
- Вы устали от интернета, говорящего вам «Просто используйте Virtualenv»
TL; DR
- Откройте Command Prompt и введите pip install virtualenv
- Скачайте нужную версию python (НЕ добавляйте в PATH!) И запомните путь только что установленной версии path\to\new_python.exe
- Чтобы создать virtualenv, откройте Command Prompt и введите
virtualenv \path\to\env -p path\to\new_python.exe - Если вы используете PyCharm , обновите Project Interpreter и Code compatibility inspection .
- Чтобы установить пакеты:
(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\ .
4. Обновите интерпретатор PyCharm
Если вы используете PyCharm, откройте проект, над которым вы хотели бы поработать (то есть / будет написано с новой версией Python), и затем File -> Settings -> Project -> Project Interpreter нажмите значок шестеренки, а затем Add.. .
Откроется окно с подсказкой, которое позволит вам определить нового интерпретатора:
Предполагая, что вы используете проверку кода, вам может потребоваться указать PyCharm, какую версию Python проверять. Перейдите File -> Settings-> Editor -> Inspections -> Python -> Code compatibility Inspection , убедитесь, что поле вверху указывает на конкретный проект, над которым вы работаете, и отметьте поле вашей версии Python.
Если вы не видите свою версию Python в списке параметров, возможно настала пора для обновления PyCharm . да, со мной тоже случилось .
5. Установите пакеты
В настоящее время ваш virtualenv содержит только важные пакеты, pip и setuptools . Чтобы установить больше пакетов:
Установка и использование модуля virtualenv для Python.
В материале рассматривается установка модулем virtualenv для Python 2.7. и работа с виртуальным окружением.
Что бы использовать виртуальное окружение в Python 3.5 и выше, используйте встроенный модуль venv .
Установка virtualenv в Python 2.7.
Внимание! Сторонний модуль virtualenv для Unix систем необходимо устанавливать под версию python, которая используется операционной системой по умолчанию.
Для начала использования virtualenv , ее нужно установить. Виртуальное окружение будем ставить в систему, т. к. виртуальная среда системой ни как не используется. Это первое и последнее, что устанавливается в систему.
Помним, что поставляемый с Unix системами Python не имеет пакетного менеджера pip , следовательно модуль virtualenv , необходимо устанавливать из пакетов операционной системы, при помощи пакетного менеджера apt-get или используя флаг -m интерпретатора Python. Пользователям Windows, то же будет интересно yзнать о таком методе установки пакетов, не входящих в стандартную библиотеку.
Для Unix систем предпочтительней использовать установку уже скомпилированного модуля virtualenv под используемую по умолчанию версию Python операционной системы, командой sudo apt install python-virtualenv .
Если в вашей системе по умолчанию используется версия Python3, то модуль virtualenv можно установить следующей командой:
Обратите внимание, что в Debian, установленный таким образом модуль virtualenv для python3 может не заработать. В таком случае, необходимо файл virtualenv.py запускать вручную или, для удобства создать командный файл. В дистрибутивах Ubuntu, такой проблемы не замечено.
Так же для версий Python 3.5 и выше, для создания виртуальных сред, можно использовать встроенный модуль venv . В этом случае устанавливать ничего не надо. Обратите внимание, что функциональность и приемы использования встроенного модуля venv сильно отличается от стороннего модуля virtualenv .
Использование virtualenv.
Перенос экземпляра системного Python или того, который мы установили:
Где /path/to/python-3.x.x/bin/python путь до бинарного файла, нужного нам интерпретатора Python например /opt/python-3.7.4/bin/python или для Windows c:\python-3.7.4\bin\python
Активация виртуального окружения:
После активации виртуального окружения вы можете, без каких либо ограничений и без sudo , пользоваться pip не боясь причинить ущерб системе. Таких виртуальных сред может быть бесконечно много и все они будут изолированы как друг от друга, так и от системы. Каждая виртуальная среда может иметь свою собственную версию Python и может иметь собственный независимый набор установленных пакетов.
Для выхода из виртуального окружения просто наберите deactivate
Для удаления virtualenv, просто удалите директорию с виртуальным окружением
Справочное руководство virtualenv.
Использование:
- где ENV_DIR абсолютный или относительный путь к каталогу, в котором создается виртуальная среда.
Опции:
- -version : показывает установленную версию virtualenv
- -h , —help : показать это справочное сообщение и выйти
- -v , —verbose : увеличивает вывод информации.
- -q , —quiet : уменьшает вывод информации.
- -p PYTHON_EXE , —python=PYTHON_EXE : используемый интерпретатор Python, например, —python=/opt/python-3.7.4/bin/python будет использовать интерпретатор из директории /opt/python-3.7.4/bin/python для создания новой среды. По умолчанию используется интерпретатор, с которым был установлен virtualenv.
- —clear : очищает установку, что бы начать с нуля.
- —system-site-packages : передает виртуальной среде доступ к глобальным пакетам.
- —always-copy : копирует файлы, а не символические ссылки.
- —relocatable : делает СУЩЕСТВУЮЩУЮ среду virtualenv перемещаемой. Это исправляет сценарии и делает все файлы .pth относительными.
- —unzip-setuptools : разархивирует Setuptools при установке.
- —no-setuptools : не устанавливает setuptools в новом virtualenv.
- —no-pip : не устанавливает pip в новом virtualenv.
- —extra-search-dir=DIR : каталог для поиска дистрибутивов pip. Эту опцию можно указывать несколько раз.
- —prompt=PROMPT : предоставляет альтернативный префикс приглашения для этой среды.
- —download : загружает предустановленные пакеты из PyPI.
- —no-download : не загружает предустановленные пакеты из PyPI.
- —no-site-packages : РЕКОМЕНДУЕТСЯ. Отсутствие доступа к пакетам переносимого Python в виртуальное окружение, теперь является поведением по умолчанию.
Virtualenv: руководство по виртуальному окружению Python
Примечание: В этом руководстве используется менеджер пакетов pip, если он у вас не установлен, то сначала установите его.
Virtualenv — это инструмент для разделения зависимостей, необходимых для проектов. При работе над несколькими проектами часто возникает проблема, что разным проектам нужны разные версии одних и тех же пакетов, virtualenv помогает нам решать подобные проблемы. Это также решает проблему засорения системы ненужными пакетами, так как виртуальные окружения можно легко создавать и удалять.
Установка virtualenv
Virtualenv — это просто пакет, доступный в pypi, вы можете использовать pip для его установки.
После установки вам может потребоваться добавить C:\Python34\Scripts в переменную среды PATH. Таким образом, такие команды, как pip и virtualenv можно будет выполнять из любой директории.
Создание виртуального окружения
Создайте новую директорию с именем python_project и измените текущую рабочую директорию на python_project:
Чтобы создать виртуальное окружение внутри python_project, вам нужно выполнить следующую команду:
Это создаст новую директорию my_env внутри python_project. Эта директория будет содержать копию интерпретатора python и копию исполняемого файла pip. Здесь мы использовали my_env в качестве имени, но вы можете использовать любое другое имя. Теперь ваше виртуальное окружение готово к использованию, вам просто нужно его активировать.
В этом руководстве есть один момент: мы установили virtualenv используя python 3.4. Предположим, у вас также есть python 2.7 и вы хотите создать виртуальное окружение, используя python 2.7 вместо python 3.4, вы можете сделать это с помощью следующей команды:
Активация виртуального окружения
Для Windows выполните следующую команду:
После выполнения вышеуказанной команды ваша командная строка изменится, и будет выглядеть примерно так:
Обратите внимание на (my_env) , это означает, что вы сейчас работаете в виртуальном окружении.
Теперь ваше виртуальное окружение активировано. Все, что вы здесь установите, будет использоваться только этим проектом.
Давайте попробуем установить пакет requests.
В Windows введите следующее:
Вы не можете ввести просто pip install requests в windows, потому что будет вызываться глобальный pip, если вы добавили C:\Python34\Scripts в переменную среды PATH. Если вы не добавили, то вы получите ошибку.
В Linux вам нужно ввести следующее:
Деактивация виртуального окружения
Для деактивации виртуального окружения используйте следующую команду:
Эта команда вернет вас обратно в системный интерпретатор python по умолчанию, где вы можете установить пакет в общесистемное окружение.
Теперь вы должны видеть преимущества использования virtualenv. Это помогает нам изолировать зависимости (пакеты) проектов избегая конфликтов.
Установка и использование virtualenv в Python
virtualenv — это инструмент для создания изолированной среды Python. У такой среды есть отдельна установка python, при ее использовании загруженные библиотеки недоступны другим. Можно сделать так, чтобы у этой среды не было доступа к глобальным библиотекам.
Virtualenv — простой и рекомендованный способ настройки среды Python.
Отличия virtualenv и venv
Venv — это пакет, который идет по умолчанию с Python 3.3+. В версии Python 2 его нет.
Virtualenv — более продвинутая библиотека. По ссылке можно ознакомиться с основными отличиями.
Виртуальную среду можно создать и с помощью venv, но все-таки рекомендуется установить и использовать virtualenv для полноценной работы.
Установка virtualenv с помощью pip
Для установки virtualenv с Python нужно использовать pip. Желательно предварительно обновить этот инструмент.
Или используйте python3 , если python ссылается на 2 версию.
После обновления можно установить и virtualenv:
Создание виртуальной среды
1. Перейдите в директорию, в которой вы хотите создать виртуальную среду(например папка проекта).
2. Создайте виртуальную среду, при необходимости указав конкретную версию Python. Следующая команда создает virtualenv с именем venv_name и использует флаг -p , чтобы указать полный путь к версии Python:
Назвать среду можно как угодно
После выполнения команды вы увидите логи:
Эта команда создает локальную копию среды. Работая с ней, важно не забывать об активации, чтобы использовались нужные версии конкретных инструментов и пакетов.
Если при установке возникла ошибка setuptools pip failed with error code 1` error , используйте следующую команду, чтобы решить проблему:
3. Для активации новой виртуальной среды используйте команду:
После этого название текущей среды отобразится слева от символа ввода: (venv_name) username@desctop:
Теперь при установке любого пакета с помощью pip он будет размещаться в папках этой среды, изолированно от глобальной установки.
Деактивации virtualenv
После завершения работы деактивировать виртуальную среду можно с помощью команды deactivate .
Введите ее и приставка venv_name пропадет. Вы вернетесь к использованию глобально версии python.
Удаление виртуальной среды
Для удаления виртуальной среды достаточно просто удалить папку проекта. Для этого используется следующая команда:
Решение популярных ошибок
Ошибки при создании virtualenv. При попытке создать virtualenv с Python 3.7 могут возникнуть следующие ошибки.
Для их исправления нужно добавить следующую строку в .bash_profile.
Использование полного пути к виртуальной среде. Может быть такое, что при использовании команды virtualenv будет использована не та версия. Для решения проблемы нужно лишь задать полные пути как к virtualenv, так и к Python в системе.
А получить их можно с помощью этой команды:
Подписывайтесь на канал в Дзене
Полезный контент для начинающих и опытных программистов в канале Лента Python разработчика — Как успевать больше, делать лучше и не потерять мотивацию.