несколько версий python windows
Менеджер версий python
Иногда полезно держать несколько версий python на одной машине. Допустим для разработки двух проектов нам необходима вторая и третья ветка python. Или вы поддерживаете проект который использует старую версию python.
Обычно для этого мы используем виртуальное окружение virtualenv или же обертку для него virtualenvwrapper. Об этом я рассказывать не буду, так как есть уже много подобных статей, да и в документациях к самим утилитам все очень хорошо объяснено. Достаточно только забить virtualenv или virtualenvwrapper в поисковик.
Но в дополнение к ним я хочу рассказать в этой статье про менеджер версий python. Кому любопытно прошу под кат.
Чтобы использовать несколько версий python, можно установить их вручную или воспользоваться менеджер версий. Таких есть два: pythonbrew(который более не развивается) и pyenv. Оба менеджера не поддерживают windows(pythonbrew, pyenv) так что питонистам пишущим на этой платформе, придется пока разруливать все руками, либо сделать свою утилиту для смены путей до нужных версий. Кто как справляется с данной ситуацией можете оставлять в комментариях.
Так как pythonbrew более не поддерживается в этой статье он рассмотрен не будет.
P.S. В статье приведены примеры проверенные для OS Ubuntu 12.04. При попытке повторить их, делайте поправки относительно своего дистрибутива.
Ручной способ
Для того чтобы работать с несколькими версиями питона, можно установить необходимые версии в указанный префикс. Например чтобы не мудрить с правами, установим дополнительно 2 версии python(2.7.6 и 3.3.2) в директорию пользователю:
2.7.6
для 3.3.2 делаем аналогичные операции:
Теперь можно создать виртуальное окружение чтобы использовать эти версии:
или через virtualenvwrapper:
Собственно на основании такого способа описана статья по созданию мультихостинга.
Далее если вам необходимо использовать какую-то из этих версий как python по умолчанию, то вам необходимо добавить в переменную окружения путь до интерпретатора python.
Соответственно вместо bashrc вы ставите bash_profile, zshrc, kshrc, profile в зависимости от вашей командной оболочки.
И по необходимости можно установить pip, предварительно установив setuptools.
Фух, ну вроде бы все. А теперь о том как можно сделать это проще использую менеджер версий python.
PyEnv
В общем если вы достаточно ленивы, то можно не делать всего того что описано выше а воспользоваться утилитой pyenv, которая упростит вам данное взаимодействие с окружением и путями.
Как ставить pyenv хорошо описывается в инструкции. Так же у автора есть скрипт который по мимо самой pyenv ставит еще и дополнительные плагины, в том числе и для virtualenv. Есть возможность установить плагин и для virtualenvwrapper.
Прежде чем начать установку, убедитесь, что у вас установлен git:
Далее устанавливаем по инструкции:
Во втором случае установка произойдет с дополнительными плагинами.
Далее, для того чтобы все заработало, дополним наш bashrc и перезагрузим оболочку:
Для обновления утилиты или смены ее версии используем git.
Для управления версиями pyenv необходимо перейти в директорию с утилитой:
Для просмотра доступных версий:
Пример использования
В добавок ко всему все довольно подробно и детально расписано у автора проекта в его репозиториях на github.
Виртуальное окружение
Все, а дальше как хотите. Если вы используете 3 ветку python то для создания виртуального окружения можно воспользоваться утилитой venv которая работает из коробки. Про это есть статья на хабре. Если вы больше привыкли к virtualenv или ее обертке virtualenvwrapper то тут есть два варианта: либо поставить плагин к pyenv, или использовать их к той версии python c которой вы работаете. Соответственно если выбрать первый вариант, то созданные вами окружения будут добавлены к вашим версиям python и доступны через команду:
Добавить плагин легко, просто клонируем его из репозитория pyenv-virtualenv или pyenv-virtualenvwrapper:
Пример использования можно посмотреть в документации для pyenv-virtualenv и pyenv-virtualenvwrapper.
Все, а дальше пользуйтесь, как вам привычнее.
Пример использования
Теперь находясь в директории проекта можно запускать скрипт от нужной версии python не прилагая никаких действий. pyenv создает в директории файл .python-version который содержит в себе информацию о том какую версию python с каким окружение использовать для данного проекта.
Как запустить несколько версий Python в Windows
У меня было две версии Python, установленные на моей машине (версии 2.6 и 2.5). Я хочу запустить 2.6 для одного проекта и 2.5 для другого.
Как я могу указать, что я хочу использовать?
Я работаю над Windows XP SP2.
11 ответов
то, что это делает под Windows, является тралом переменной среды %PATH%, проверяя исполняемый файл, либо пакетный файл (.летучая мышь), командный файл (.cmd) или какой-либо другой исполняемый файл для запуска, который соответствует данному имени. Когда он находит правильный файл для запуска, он делает это.
теперь, если вы установили две версии python 2.5 и 2.6, в пути будут оба их каталога, что-то вроде PATH=c:\python.5;c:\python.6 но Windows перестанет изучать путь, когда найдет совпадение.
другой альтернативой является создание ярлыка для соответствующего python.exe, вызывающий один из них python25, а другой python26; вы можете просто запустить python25 в командной строке.
добавление еще двух решений проблемы:
и вместо выполнить команда pylauncher ( py ) specyfing какую версию Python вы хотите;
затем вы можете активировать первый и работать с Python 2.5, как это
c:\venvs.5\activate
и когда вы хотите переключиться на Python 2.6 вы
из Python 3.3, есть официальный Python launcher для Windows (http://www.python.org/dev/peps/pep-0397/). Теперь, вы можете использовать #!pythonX чтобы определить нужную версию интерпретатора также В Windows. Подробнее в моем другом комментарии или прочитайте PEP 397.
согласно @alexander вы можете сделать набор символических ссылок, как показано ниже. Поместите их куда-нибудь, что включено в ваш путь, чтобы их можно было легко вызвать
покуда c:\bin или где бы вы их ни разместили, теперь вы можете пойти
при установке Python он не будет перезаписывать другие установки других основных версий. Итак, установка Python 2.5.x не будет перезаписывать Python 2.6.x, хотя установка 2.6.6 перезапишет 2.6.5.
так что вы можете просто установить его. Затем вы называете Python версии вы хотите. Например:
для Python 2.5 на windows и
для Python 2.6 в windows или
on окна Unix (включая Linux и OS X).
при установке на Unix (включая Linux и OS X) вы получите общий python команда установлена, которая будет последней, которую вы установили. Это в основном не проблема, так как большинство скриптов будут явно вызывать /usr/local/bin/python2.5 или что-то, чтобы защитить от этого. Но если вы не хотите этого делать, и вы, вероятно, не можете установить его следующим образом:
обратите внимание на «altinstall», что означает, что он установит его, но он будет не заменить
все они находятся в системной папке, выберите версию, которую вы хотите запустить
1) Скачать последние версии python от python.org/downloads выбрав соответствующую версию для вашей системы.
2) Запустите программу установки и выберите добавить python 3.x к пути чтобы установить путь автоматически в python 3 (вам просто нужно щелкнуть флажок). Для python 2 Откройте установщик python 2, Выберите любые предпочтения, которые вы хотите, но просто не забудьте установить добавить python.exe в путь до будет установлен на локальном жестком диске, теперь просто нажмите кнопку Далее и дождитесь завершения установки.
3) когда обе установки будут завершены. щелкните правой кнопкой мыши на моем компьютере—перейти к свойствам—выберите расширенные Системные настройки—перейти к переменным среды—Нажмите кнопку Создать в разделе системные переменные и добавить новый системная переменная С переменной имя as PY_PYTHON и значение переменной до 3. Теперь нажмите на OK и вы должны быть сделаны.
4) Теперь, чтобы проверить это, откройте командная строка. После того, как вы там типа python или py, Он должен открыть питон3.
Если ничего из этого не работает, перезагрузите компьютер, и если проблема все еще сохраняется, удалите все и повторите шаги.
использование пакетного файла для переключения, легко и эффективно в windows 7. Я использую это:
В разделе пользовательские переменные
добавлен %pathpython% в переменную среды path
удалены все ссылки на Python пути
В разделе системные переменные
Я создал пакетные файлы для каждой установки python (пример для 3.4 x64
чтобы переключаться между версиями, я выполняю пакетный файл в режиме администратора.
Так Я полностью контролирую это.
с помощью Редактор Быстрой Среды вы можете нажать на верхнюю часть каталога нужной установки Python. Например, чтобы запустить python из c:\Python27 каталог, убедитесь, что c:\Python27 каталог находится перед или поверх c:\Python36 каталог в переменной среды Path. По моему опыту, выполняется первый исполняемый файл python, найденный в среде Path. Например, у меня установлен MSYS2 с Python27 и так как я добавил C:\MSYS2 к путь до C:\Python36 питон.exe с C:\MSYS2. папка выполняется.
Как запустить несколько версий Python в Windows?
Резюме: Вы можете запустить несколько версий Python в Windows, используя один из следующих способов: используя весь путь для выполнения кода. Создание ярлыка или символической ссылки на исполняемые файлы. Использование Pylauncher: используйте Shebang (#) в виртуальных средах Scriptrun Pylauncher. ➠ Формирование проблемы: у вас могут быть две версии Python, установленные на вашем … Как запустить несколько версий Python в Windows? Подробнее “
Резюме: Вы можете запустить несколько версий Python в Windows, используя один из следующих способов:
➠ Проблема формулировки : У вас могут быть два Версии Python установлен на вашем Окна Машина (версии 2.7 и 3.8). Теперь вы хотите запустить один из проектов на 2.6 для одного проекта и 2.5 для другого. Итак, как вы можете указать, какую версию вы хотите использовать для определенного сценария?
Таким образом, в этой статье вы узнаете, как запустить несколько версий Python в Windows с визуальными эффектами и иллюстрациями. Но прежде чем продолжить дальше, вы должны знать о различных версиях Python, установленной в вашей системе.
❖ Как проверить все установленные версии Python в Windows?
Введите следующую команду в вашей командной строке, чтобы найти версии Python, доступную в вашей системе:
Вышеуказанная команда перечисляет все версии Python, установленной в вашей системе. Если вы хотите найти разные версии, а также путь к каждой установленной версии, используйте следующую команду:
Следующие графические иллюстрации помогут вам четко понять вышеуказанные команды.
Как только вы проверили версии Python, установленные в вашей системе, вы можете использовать один из упомянутых ниже способов для выполнения определенного сценария в определенной версии.
❖ Метод 1: Использование пути
Чтобы преодолеть этот барьер, вы должны явно вызывать один или оба из приложений, использующих их путь. Например, как вы можете видеть ниже, у меня есть две версии Python, установленной в моей системе.
❖ Способ 2: Создание ярлыка или символической ссылки
➥ Создание ярлыка: Если вы хотите избежать использования всего пути, вы можете создать ярлык для каждого человека python.exe Файл и переименуйте их как Python27 и Python38. Теперь вы можете запустить каждую версию, используя соответствующие ярлыки напрямую.
Чтобы создать ярлыки, выполните заданные шаги:
➥ Создание символической ссылки: Кроме того, вы также можете символическую ссылку на соответствующие исполняемые файлы и переименовать их. Затем вы можете выполнить свой код с помощью Python27, то есть имя, которое было дано вами.
Примечание: Поместите ярлыки где-то, что входит в путь, чтобы их можно было легко вызвать.
После создания ярлыка и ссылки вы можете легко вызвать определенную версию, используя имя, указанное вами, как показано ниже:
❖ Метод 3: Использование Python Launcher
Вы можете использовать Pylauncher А затем используйте один из следующих подходов для выполнения вашего сценария в версии, которую вы хотите.
Примечание: Если у вас есть Python 3.3 и выше, нет необходимости устанавливать его вручную, потому что он уже доступен с более новыми версиями Python.
➥ Подход 1: используйте Shebang (#) в сценарии
Вы можете просто использовать линию Shebang в своем сценарии, чтобы упомянуть версию, в которой вы хотите выполнить скрипт.
#! C: \ [Путь к Python 2.7] \ python.exe – Для выполнения скриптов с Python 2.7. #! C: \ [Путь к Python 3.8] \ python.exe – Для выполнения скриптов с Python 3.8.
Пример: Следующее изображение показывает, как вы можете использовать Shebang в вашем скрипте и выполнить его непосредственно в вашей командной строке.
➥ Подход 2: запустить команду Pylauncher
❖ Способ 4: Использование виртуальных сред
Другой подход к запуску различных версий Python в Windows – это установить Виртуальский и создать две независимые виртуальные среды для соответствующих версий Python.
➥ Синтаксис:
➥ Пример:
Как только виртуальные среды были созданы, вы можете активировать Конкретная среда для использования этой версии, как показано ниже:
Деактивировать это использовать команду: C: \ Venvs \ 3.8 \ Сценарии \ деактивировать
❖ Как выбрать версию Python в Pycharm?
Если вы используете Пычарм Чтобы выполнить свой код, вы можете сделать это с помощью следующих шагов:
Примечание: В Pycharm 2019.1 и выше, есть новая особенность, известная как Переводчик в строке состояния Отказ Эта функция позволяет переключаться между переводчиками Python и проверяя, какая версия Python вы используете намного проще и удобно для пользователя. Эта функция была показана на изображении ниже (выделено красным в правом нижнем углу).
Заключение
Мы дойдем до конца этого урока, и я надеюсь, что это помогло вам. Пожалуйста, Подписаться и Оставайтесь настроиться Для более интересных статей.
Я профессиональный Python Blogger и Content Creator. Я опубликовал многочисленные статьи и создал курсы в течение определенного периода времени. В настоящее время я работаю полный рабочий день, и у меня есть опыт в областях, таких как Python, AWS, DevOps и Networking.
Pyenv: удобный менеджер версий python
Появлялась ли у вас хоть когда-нибудь надобность в разделении версий python на одной машине? Думаю ответ вероятнее всего будет положительным. В своей практике программирования я нередко сталкиваюсь с ситуациями, когда мне необходимо иметь под рукой сразу несколько версий Питона, да желательно ещё и самых последних. Обычно в Windows среде с этим никогда не возникает проблем, основная сложность для неподготовленного разработчика появляется при работе в unix-like операционных системах, где собственно и разворачивается большинство python-приложений (будь то веб-приложение или новомодный скрипт, автоматизирующий рутинную работу).
Сегодня я хочу кратко рассказать и показать возможности работы такого замечательного инструмента как pyenv. Данный скрипт ни что иное как удобный менеджер версий для языка программирования Python. Лучше всего сразу всё увидеть на конкретных примерах.
Установка
Pyenv можно установить либо вручную, либо используя автоматический скрипт от того же автора. Я буду использовать автоматическую установку.
Ах, да. Инструмент располагается в
/.pyenv/, а все версии будущих интерпретаторов Python будут находиться
/.pyenv/versions/.
Перед тем как устанавливать определённую версию Python, необходимо предварительно поставить зависимости:
Для того чтобы установить определённую версию Питона необходимо выполнить следующую команду:
Для просмотра всех установленных версий Питона необходимо:
Чтобы переключиться на версию:
Создаём отдельное виртуальное окружение Питона из версии 2.7.11 и переключаемся на него:
Список команд pyenv можно увидеть следующим образом:
Мануал по каждой команде:
Дополнительные опции для компиляции Python интерпретатора передаются через переменную окружения, например вот так:
Полезные ссылки
💌 Присоединяйтесь к рассылке
Понравился контент? Пожалуйста, подпишись на рассылку.
Русские Блоги
Предварительное исследование решения проблемы сосуществования нескольких версий Python под Windows 10
Зачем устанавливать несколько версий Python в одной системе
Существует две основные версии Python, 2 и 3, и для некоторых специальных пакетов требуются специальные номера версий. При разработке и тестировании программного обеспечения вы можете столкнуться с различными требованиями к разработке для версий и пакетов Python, и вам также может потребоваться проверить совместимость кода, написанного в разных средах или на одном компьютере.ОдновременноЗапускайте несколько сред Python с разными требованиями к версии и зависимыми требованиями к пакетам. Все это необходимо для решения проблемы сосуществования нескольких версий Python.
Приведенные выше вопросы можно разделить на две категории:
Иногда даже одна и та же версия Python будет иметь конфликты между зависимыми пакетами.В этом случае нам нужно настроить разные зависимые пакеты для разных приложений, чтобы избежать конфликтов. Эту проблему можно отнести ко второму типу проблем.
Как решить проблему сосуществования нескольких версий
Принцип: как система находит указанную версию Python?
Прокомментируйте четыре общих метода достижения сосуществования нескольких версий
1. Временно измените системный путь
Основываясь на вышеизложенных принципах, для первого типа проблем модификация переменных системной среды может быть временно изменена с помощью команды set. Временные изменения действуют только для текущего окна консоли. Такие как
Команда set не изменяет реестр Windows, поэтому она временная.Действительно только для текущего окна консоли.
2. Измените системный путь навсегда.
Для первого типа проблем, пока вы устанавливаете несколько Pythons, вы не позволяете операционной системе Windows автоматически настраивать рабочий путь Pyhton каждый раз, когда вы его устанавливаете (не выбирайте автоматическое добавление пути при установке Python). Если вы хотите использовать указанную версию Python, вручную добавьте путь к версии Python в системную переменную среды. path Просто средний. После использования вручную измените этот путь в переменных системной среды. path Удалено в.
Доступна конфигурация переменных системной среды. sysdm.cpl Команда открывается из консоли или из панели управления windows Панель управления \ Система и безопасность \ Система \ Расширенные настройки системы Откройте `и отредактируйте переменные среды.
Недостатками этого подхода являются: (1) настройка требует ручного управления, что вызывает затруднения; (2) поскольку конфигурация является глобальной, невозможно одновременно выполнять разные версии программ Python.
3. Измените имя файла python.exe.
4. Используйте программу запуска Python py.exe.
Когда установлен python, на компьютер будет установлен основной загрузочный файл py.exe, а версию python на компьютере можно будет определить и запустить, передав параметры. И это может значительно решить проблему установки pip installa. который
Это собственный метод Python, но он не может поддерживать больше версий и не может решить проблему, заключающуюся в том, что командой по умолчанию для вызова python является python.exe в других приложениях.
Таким образом, первый и второй методы являются основными. Третий и четвертый типы более или менее имеют проблемы с отношениями вызова с другим программным обеспечением. Так что не рекомендуется.
способы улучшить
Настройка временного системного пути с пакетной обработкой
Метод временной установки пути может гибко изменять вызывающую версию интерпретатора python и одновременно вызывать разные версии python в разных окнах консоли, но настройка немного сложнее. Вы можете использовать командные файлы для упрощения операций.
[Пример] Нам нужно использовать редактор Sublime Text для редактирования и компиляции Python. После редактирования кода в Sublime Text и компиляции с помощью python он доступен ctrl+B Скомпилируйте и выполните. Но предыдущий вопрос заключается в том, что Sublime Text должен уметь его найти (то есть знать путь для вызова интерпретатора), иначе он сообщит об ошибке. Теперь необходимо открыть редактор SublimeText, который может отлаживать коды Pyhton 2 и 3. Как это сделать?
【Решение】
непременное условие: Предположим, что программное обеспечение Sublime Text распаковано и выпущено в папке. Во-первых, исполняемый файл Sublime Text sublime_text.exe В качестве пути к папке укажите системный путь. Откройте окно консоли ( win + R выполнить cmd.exe ),выполненный subl Вы можете открыть редактор Sublime Text.
Можно открыть редактор Sublime Text. Поскольку в этой консоли нет пути к программе выполнения python, выполнение python сообщит об ошибке в этой консоли. Таким образом, Sublime Text также сообщит об ошибке, что интерпретатор python не может быть найден.
Затем выполните sublpy3.bat (дважды щелкните, чтобы выполнить, его также можно запустить в консоли), чтобы открыть Python3 в качестве интерпретатора. При выполнении sublpy2.bat в качестве интерпретатора используется python2.
Используйте SETX для постоянного изменения переменных системной среды
использование sysdm.cpl Откройте диалоговое окно настройки переменной системной среды, чтобы установить ее вручную, очевидно, но это неудобно. Здесь я расскажу, как использовать пакетную обработку для изменения переменных системной среды в реестре, тем самым изменяя точку версии интерпретатора Python.
Эта функция может быть реализована с помощью команды Windows SETX, но есть хитрость:
Делаем так:
1. Добавьте новую переменную среды в системную переменную среды, например, назовите ее py. Затем добавьте py в качестве имени переменной к переменной пути.
2. Используйте SETX, чтобы изменить значение переменной py.
Напишите в командной строке:
Это изменяет py и записывает результат в реестр, тем самым изменяя используемую версию python. Этот метод не изменяет имя исполняемого файла python, поэтому параметры программного обеспечения по умолчанию, такие как возвышенный текст, могут работать.
нота:После настройки с помощью SETX параметры настройки записываются в реестр, но путь в текущем командном окне консоли не обновляется. Вам нужно повторно открыть новое окно командной строки, чтобы увидеть результат обновления. По умолчанию SETX изменяет переменные пути текущего пользователя.Если вы хотите изменить переменные пути всех пользователей системы, вы можете добавить параметр / M.
Просто используйте указанный выше метод в качестве командного файла. Например, делаем 3 файла bat:
usepy3.bat
с участием
usepy2.bat
так же как
donotuseanypy.bat
Это позволяет вам по желанию переключать версию Python.
После настройки начните с новой консоли. subl Версию интерпретатора можно найти правильно. Щелкните прямо из файла sublime_text.exe Возможно, вы все еще не сможете правильно найти Python, затем снова обновите файловый менеджер.
Есть ли способ лучше?
Вышеупомянутые два метода могут решить проблему сосуществования нескольких версий Python в Windows. Но на самом деле есть способ получше. Использовать виртуальную среду Python. ЕстьvirtulenvПакет доступен, и пакет venv также включен в Python 3.4 и выше для выполнения тех же функций, что и пакет virtulenv.
Принцип пакета virtulenv заключается в установке независимых переменных системного пути для каждой версии python для достижения разделения и сосуществования.