Разные версии python windows

Содержание
  1. Использование виртуальных сред venv и virtualenv для создания окружения Python
  2. Для чего нужно виртуальные среды?
  3. Установка и создания окружения с virtualenv
  4. Активация и выход из окружения
  5. Управление средами через virtualenvwrapper
  6. Настройки для Linux
  7. Настройки для Windows
  8. Основные команды
  9. Создание виртуальных сред со встроенным пакетом Python venv
  10. Создание виртуального окружения в Pycharm
  11. Создание списка установленных пакетов Requirements.txt
  12. Установка двух версий Python
  13. Использование нескольких версий Python на unix-подобных операционных системах
  14. Использование нескольких версий Python на unix-подобных операционных системах.
  15. Что и зачем?
  16. Установка Python из репозиториев пакетов операционной системы
  17. Сборка из исходного кода
  18. pyenv
  19. Установка системным пакетным менеджером из сторонних источников
  20. Псевдонимы python , python2 , python3
  21. Установка poetry на системы с разными версиями Python
  22. Установка в выделенное виртуальное окружение
  23. Особенности использования poetry, установленного в виртуальное окружение

Использование виртуальных сред venv и virtualenv для создания окружения Python

Виртуальные среды (окружения) используются в Python 3 контроля версионности пакетов. Кроме контроля версий среды используют для использования разных интерпретаторов. Самих пакетов, которые создают виртуальные окружения много. В этой статье речь пойдет про venv, virtualenv и virtualenvwrapper.

Навигация по посту

Для чего нужно виртуальные среды?

При создании скрипта или программы вы часто используете сторонние модули (пакеты). Если в последующем потребуется перенос программы на другой компьютер, то вы можете столкнуться с двумя проблемами:

  1. Нужные пакеты отсутствуют на новом компьютере и придется проверять каждый файл программы для их поиска. Либо получить список установленных пакетов через «pip list» на старом компьютере, который выведет множество лишних модулей.
  2. Даже если количество пакетов или файлов программ маленькое, или вы его создали отдельно, то вы все равно можете столкнуться с проблемами в версиях. Пакеты могли быть обновлены, а методы и классы изменены.

Использование виртуальных сред избавляет вас от этих проблем. В таком виртуальной среде находится свой интерпретатор, свой pip и все пакеты относятся только к нему. Так же, весь проект, можно перенести как папку на другой компьютер без ошибок.

Кроме этого вы можете запускать разные версии Python в разных виртуальных средах, что сильно упрощает работу.

Установка и создания окружения с virtualenv

Самый популярный пакет, который используется для создания виртуальных сред в Python, это virtualenv. Для его установки на Windows выполните:

Для установки на Linux системах, для Python 3, понадобится выполнить такую команду:

Если вы не будете использовать sudo, то в зависимости от версии ОС у вас появятся разные ошибки. В CentOS установка не выполнится вовсе, а в Ubuntu не будет добавлен путь в переменную окружения:

  • PermissionError: [Errno 13] Permission denied: ‘/usr/local/lib/python3.6’
  • Command ‘virtualenv’ not found, but can be installed with: sudo apt install virtualenv

Далее, вне зависимости от того используете ли вы Linux или Windows, вы можете выполнить команду получения справки:

Я использую Python 3.6, и так я создам окружение в папке projectname/venv:

Способ выше устанавливает окружение относительно текущего пути. Если нужно установить на другом диске или каталоге, то можно использовать абсолютный путь. Так же не обязательно указывать параметр «-p» если вы используете одну версию Python. Вариант как это может быть сделано на Windows:

Само расположение виртуального окружения рекомендуется создавать в одной папке вместе разрабатываемым приложением. Такую структуру будет легче сопровождать. Я обычно придерживаюсь такой структуры:

Активация и выход из окружения

Для того что бы виртуальное окружения начало работать его нужно активировать. В разных ОС это делается по-разному.

В случаях с Linux указываем полный путь до venv/bin/activate:

Для активации в Windows, в папке venv\Scripts есть несколько файлов:

  • activate.ps1 — для активации через Powershell;
  • activate.bat — для активации через CMD.

Для активации просто укажите полный путь до файла. Например:

О том что вы находитесь в виртуальном окружении свидетельствуют следующие надписи:

Вы так же можете сравнить количество установленных пакетов внутри виртуального окружения с тем, что установлено вне:

Теперь вы можете устанавливать пакеты, которые будут работать только в этой среде.

Для выхода из окружения, за исключением запуска с помощью CMD, используйте команду:

Для CMD нужно указать путь до файла «venv\Scripts\deactivate.bat».

Управление средами через virtualenvwrapper

Если вы создаете множество виртуальных сред, например для тестирования в разных версиях Python, вы можете использовать virtualenvwrapper. Этот пакет представляет собой надстройку для virtualenv для более удобной работы и устанавливается отдельно.

Читайте также:  Windows не читает айфон

Благодаря этому пакету мы сможем запускать ваши окружения так:

Для Windows нужно установить следующий пакет:

Для Linux нужно так же использовать sudo:

Настройки для Linux

Virtualenvwrapper хранит все окружения в одном месте. Это место определяется через переменную WORKON_HOME в Linux и по умолчанию равно директории ‘/home/пользователь/.virtualenvs’. Если вы хотите изменить это расположение — выполните команду экспорта с нужным путем:

Следующая команда добавит скрипты в домашний каталог для удобной работы:

При выполнении предыдущей команды у меня появилась ошибка:

virtualenvwrapper.sh: There was a problem running the initialization hooks. If Python could not import the module virtualenvwrapper.hook_loader

Она исправилась добавлением переменной в env с путем до нужного интерпретатора:

Настройки для Windows

Все виртуальные среды, которые будут созданы, по умолчанию будут располагаться по пути «C:\Users\%USERNAME%\Envs». Если вам нужно изменить расположение, то создайте переменную WORKON_HOME с нужной директорией:

Важный момент, в случае с Windows, команды virtualenvwrapper не будут выполняться Powershell. Команды работают только через CMD.

Основные команды

Далее мы можем использовать следующие команды (основные):

  • mkvirtualenv — создание окружения;
  • lsvirtualenv — отображение списка окружений;
  • rmvirtualenv — удаление;
  • workon — переключение между виртуальными средами;
  • deactivate — выход из текущего окружения.

Так мы создадим виртуальную среду:

Так выйдем из созданной среды:

Если нужно использовать другую версию Python:

Создание виртуальных сред со встроенным пакетом Python venv

Ранее, до версии Python >= 3.6 базовая установка интерпретатора шла вместе с пакетом pyenv, но на данный момент он считается устаревшим и более не поддерживается. На его смену пришел venv. В некоторых версиях ОС (Ubuntu/Debian) может потребоваться его отдельная установка:

Проверить, то что пакет venv установлен, можно так:

Следующая команда создаст виртуальную среду:

Выбранная версия Python и стандартные библиотеки будут скопированы в указанную папку.

Активация окружения выполняется следующим образом:

Для выхода из окружения:

Создание виртуального окружения в Pycharm

В некоторых IDE, например Pycharm, консоль встроенная и по умолчанию у вас будет запускаться интерпретатор выбранный в настройках. В Pycharm вы можете создать или изменить проект привязав его к определенному интерпретатору.

Виртуальную среду можно создать при создании нового проекта. Для этого нужно зайти по следующему пути:

В новом окне выбрать название проекта, место для копирования, интерпретатор и нажать кнопку создания окружения:

Для настройки окружения для старых проектов нужно зайти в настройки:

Во вкладе «Python Interpreter» будет выбор из существующих интерпретаторов (1). Либо можно создать новый (2):

Создание списка установленных пакетов Requirements.txt

Используя виртуальные окружения можно легко создавать файл, в котором будут собраны все названия и версии пакетов для определенного проекта. Этот подход используется для удобства работы, так как одной программой мы сразу установим нужные пакеты.

Так мы получим список пакетов, установленных в виртуальном окружении, в формате читаемом pip:

Следующим способом мы экспортируем этот список в файл Requirements.txt (способ подходит для Bash/CMD/Powershell):

На другом компьютере/среде мы можем этот список быстро проверить и установить отсутствующие пакеты следующей командой:

Установка двух версий Python

Смена версий Python
Вечер добрый 🙂 использую Linux Mint 17.3 Rosa. И по умолчанию в системе стоит Питон2.7. Как.

Установка Python
Здравствуйте. Установил PyCharm. Как я вижу, он не имеет интерпретатора «из коробки». Скачиваю с.

Установка Python
Добрый день! При установке Python выскакивает такая ошибка. Установочники скачивала для своей 32.

установка Python
Добрый день, хочу установить Python. На сайте есть несколько версий. Версия 3.6.0 при установке.

Дополню комментарий dondublon.
Вместе с обновленными версиями инсталлера python поставляется специальный лаунчер, позволяющий удобно работать с несколькими версиями python под мастдайкой.
Посмотреть примеры и т д можешь тут https://docs.python.org/3/usin. or-windows.

В каталоге с Python3 есть файлы: pip, pip3, pip3.6. В каталоге с Python2 — pip, pip2, pip2.7. Вызываешь файл, в имени которого есть версия — pip3 или pip2, неоднозначности не возникает.

alex925, да, сейчас бы незрячим скриншотами объяснять.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Установка Python и OpenCV
Помогите пжл решить проблему. ОС: Windows 7 домашняя базовая SP1 (32bit) 1. Устанавливаю.

Установка lunatic-python
Добрый вечер. Кто может рассказать подробно, как можно установить библиотеку lunatic-python? В.

Читайте также:  Windows browser command line

Установка модулей на Python 3
Никакими способами не устанавливаются модули(через консоль,с помощью pip из zip tar whl.

Установка Python 3 на Denwer
Всем привет, ребята подскажите пожалуйста как поставить Python 3 на Denwer.. Работаю над первым.

Использование нескольких версий Python на unix-подобных операционных системах

Использование нескольких версий Python на unix-подобных операционных системах.

Что и зачем?

Python как язык постоянно развивается. Ветка Py2 уже не поддерживается официально. Однако до сих пор существуют окружения, где приходится использовать Py2 и даже не свежий 2.7.x, а что-то постарее. Да и Python 3.x нынче — это большое семейство версий, кое-где несовместимых между собой, в т.ч. и синтаксически! Поэтому практикующий питонист широкого профиля должен понимать, как на одной машине иметь несколько версий среды исполнения. Даже если «в продакшне» и используется какой-нибудь Docker!

Установка Python из репозиториев пакетов операционной системы

Если вам повезло, то в репозитории пакетов ОС будет нужная версия Python, и вы сможете её установить с помощью команды вроде sudo apt-get install python3.5 . Однако достаточно старые дистрибутивы ОС могут не содержать новых версий Python, а достаточно новые дистрибутивы — старых версий Python. В особых случаях репозиторий вообще может содержать только одну версию среды исполнения.

Сборка из исходного кода

CPython — проект с исходным кодом. Доступ к исходному коду всех версий CPython позволяет собрать нужную версию самостоятельно. Однако это процесс, пусть и достаточно хорошо документирован, но всё же требует понимания того, что вам может потребоваться для компиляции кода под вашу операционную систему.

А ещё сборка из исходного кода — это единственный вариант для тех, кто хочет что-то в этом самом коде изменить или скомпилировать интерпретатор для какой-то экзотической платформы (встраиваемые системы, ретро-железо).

pyenv

Ещё одним из способов получения разных версий среды исполнения на одной машине является pyenv. Это «менеджер версий», выполненный в стиле rbenv для Ruby, nvm для NodeJS и т.п.

Миссия pyenv — управлять установленными версиями Python и делать некую версию «активной». Активная версия вызывается, если мы выполняем команду python (а также pip ), при этом разные проекты могут использовать разные активные версии и даже более чем одну одновременно. Последнее свойство полезно авторам библиотек, рассчитанных на широкий круг пользователей — таковые всегда нужно тестировать на разных версиях Python.

Установить pyenv достаточно просто, ведь инструмент представляет собой набор shell scripts. Именно поэтому получился pyenv максимально кроссплатформенным. Но за эту кроссплатформенность приходится платить тем, что каждую версию среды исполнения нужно компилировать из исходного кода! Для компиляции того же CPython потребуется компилятор Си ( gcc на Linux и clang на MacOS), и заголовочные файлы для библиотек, которые использует интерпретатор. Полный список пререквизитов для сборки приходится гуглить.

Установка системным пакетным менеджером из сторонних источников

Для большинства Unix-like ОС, помимо официальных репозиториев, существуют и неофициальные источники пакетов.

Для Debian-like систем, таких как Ubuntu и её производные, сторонние источники пакетов называются PPA, Personal Package Archives. Подключить любой PPA достаточно просто, но нужно понимать, что вы таким образом соглашаетесь на установку пакетов из стороннего источника, никак не подчиняющегося авторам дистрибутива ОС! Подключайте только хорошо зарекомендовавшие себя PPA, например от самих авторов ПО, которое вы хотите установить!

Для Ubuntu-based систем существует PPA от команды «deadsnakes». Это проверенный источник пакетов с самыми разными версиями Python как для свежих релизов ОС, так и для релизов «второй свежести».

Главное преимущество установки пакетов из проверенных PPA состоит в том, что пакеты обычно содержат оптимизированные под конкретный дистрибутив сборки с должным количеством обновлений и исправлений. Такие сборки более безопасны и производительны, чем те, что собраны вручную из исходников.

К тому же в популярных PPA пакеты обновляются своевременно, чего нельзя сказать про пакеты для устаревших релизов ОС, для которых срок поддержки закончился. Конечно, такие релизы лучше вообще не использовать (небезопасно!), но иногда может не быть выбора, а с PPA вы хотя бы будете иметь свежие версии среды исполнения.

Псевдонимы python , python2 , python3

Исторически сложилось так, что интерпретатор Python запускается командой python . Но в какой-то момент случились Python3, обратная несовместимость, «разброд и шатания». Чтобы внести некоторую определённость, был представлен PEP-394: The «python» Command on Unix-Like Systems. Однако даже этот PEP разрешает разным системам самим выбирать, использовать ли Py2 и Py3 вместе или выбрать что-то одно. Системы должны лишь обеспечить, чтобы

  • команда python2 вызывала некую версию Python 2.x, если таковая вообще предоставляется;
  • команда python3 вызывала некую версию Python 3.x, если таковая предоставляется;
  • команда python соответствовала либо python2 , либо python3 (но не ссылалась на какую-то «третью» версию рантайма).
Читайте также:  Driver nvidia для windows 10 не устанавливается

При этом не гарантируется, что все эти команды будут присутствовать в конкретном случае: где-то будет доступна только команда python3 , где-то — python2 . Псевдоним python вообще обязан присутствовать лишь в виртуальном окружении и всегда соответствовать той версии интерпретатора, которая была выбрана при создании окружения.

Такое «разнообразие» сильно усложняет жизнь разработчикам ПО, особенно — авторам инструментов разработки! Разработчик может написать скрипт для Py2 и указать в shebang #!/usr/bin/env python . Но на одних ОС команда python вообще не будет доступна и скрипт просто не запустится, а на других python будет означать какой-нибудь Python 3.8 и скрипт может даже запуститься, но сломается в процессе выполнения.

И даже если автор использует техники, позволяющие писать портируемый код (six, 3to2), умеющий выполняться и на Py2, и на Py3, всё равно непонятно что же указать в shebang!

Вышеупомянутый PEP советует

  • либо фиксировать версию явно (только Py2 или только Py3),
  • либо требовать использования виртуальных окружений (в ВО всегда будет доступна команда python )
  • либо не писать shebang руками, а вместо этого использовать средства setuptools или другой системы пакетирования, создающие точки входа в зависимости при установке пакета (у точек входа shebang будет правильный).

Установка poetry на системы с разными версиями Python

На момент написания статьи poetry (это такой менеджер виртуальных окружений, сборщик пакетов и проч — «швейцарский нож» разработчика на Python) страдал от проблем с версиями рантайма: при установке рекомендованными способом скрипт-установщик завершался с ошибкой, либо установка проходила успешно, но затем не работала сама программа.

Дело (было?) в том, что и в скрипте-установщике и в точках входа в программу в shebang прописан python ! Сама программа работает и на Py2, и на Py3, но авторы исходили из предположения, что на целевой системе в любом случае будет присутствовать псевдоним python , вызывающий тот или иной интерпретатор. На некоторых системах такой команды нет…

Если использовать pyenv, оный всегда предоставляет команду python и poetry «просто работает». Нет проблем и на старых дистрибутивах, где ещё не отказались окончательно от Py2 . И конечно всё работает в виртуальном окружении. Рассмотрим этот вариант поподробнее.

Установка в выделенное виртуальное окружение

Для начала нам понадобится само окружение. Предположим, что Python3 вы уже так или иначе поставили. Делаем раз

Программа установлена! Теперь создаём символическую ссылку на точку входа в папке, видимой в PATH , например, в $HOME/.local/bin :

Работает! Обновлять программу в будущем можно с помощью того же pip (который в окружении). А можно и вовсе автоматизировать процесс установки такого вот Python-софта с помощью pipx.

Особенности использования poetry, установленного в виртуальное окружение

Poetry построен так, чтобы работать с абстрактной версией python. Поэтому он хорошо сочетается с pyenv: один на себя берёт управление разными пайтонами, а другой — проектами на этих пайтонах.

Но эта привязка к команде python немного мешает, когда poetry установлен в своём собственном виртуальном окружении: в этом окружении Python уже известен и не может быть изменён. Данная особенность упомянута в документации к poetry, так что это «не баг, а фича». И всё же есть способ обойти сие ограничение: можно инициализировать окружение вручную с нужной версией Python и настроить poetry на использование этого готового окружения.

Для начала учим poetry создавать окружения не в своём кэше, а в папке с проектом:

С этих пор для каждого проекта виртуальное окружение будет располагаться в поддиректории .venv .

Уже в конкретном проекте инициализируем окружение командой

(для Py2 команда будет другой, т.к. модуль venv тогда ещё не поставлялся вместе со средой исполнения).

Теперь можно работать с poetry как обычно. Несмотря на то, что Python в проекте, возможно, отличается от рантайма, запускающего poetry!

Оцените статью