Как поменять версию python windows

Обновлено: 03.07.2024

Когда я бегу python в cmd он отображает версию python 2.6, что правильно!

Но когда я написал скрипт в bat-файле и запустил его, показанная версия Python была 3.1.

Что здесь не так?

Код скрипта в файле bat:

Это если у вас установлены обе версии.

Перейдите на этот компьютер -> щелкните правой кнопкой мыши -> выберите Свойства -> Дополнительные параметры системы.

Вы увидите свойства системы. Отсюда перейдите на вкладку "Дополнительно" -> Нажмите "Переменные среды".

Вы увидите верхнюю половину для пользовательских переменных и нижнюю половину для системных переменных.

Проверьте системные переменные и дважды щелкните по пути (для редактирования пути).

Проверьте путь Python(который вы хотите запустить, т.е. Python 2.x или 3.x) и переместите его в начало списка Path.

Перезапустите командную строку, и теперь, когда вы проверяете версию Python, она должна правильно отображать требуемую версию.

Если вы хотите установить другую версию, но не хотите использовать ее по умолчанию, просто отключите опцию регистрации во время установки.

Изменить (19 мая 2012 г.)

Начиная с Python 3.3, установщик Python устанавливает Python Launcher для Windows. Эта программа ( py.exe ) связан с расширениями файлов Python и ищет комментарий "shebang", чтобы указать версию Python для запуска. Это позволяет сосуществовать многим версиям Python и позволяет сценариям Python явно указывать, какую версию использовать, если это необходимо. Если он не указан, по умолчанию используется последняя версия Python 2.X для текущей архитектуры (x86 или x64). Это значение по умолчанию можно настроить через py.ini файл или PY_PYTHON переменная окружения. Смотрите документы для более подробной информации.

Просто убедитесь, что Python 3.3 является последним установленным Python, который зарегистрировался в Windows. Если позже будут установлены другие версии Python, не регистрируйте их в среде, поэтому программа запуска останется по умолчанию.

Выше, .py файлы связаны с Python.File тип. Командная строка для Python.File Python Launcher, который устанавливается в каталог Windows, поскольку он всегда находится в PATH.

Чтобы ассоциация работала, запустите сценарии из командной строки с script.py а не "python script.py", иначе python будет работать вместо py , py.exe также может быть запущен с переключателями для принудительной версии Python:

Дополнительно добавить .py;.pyw;.pyc;.pyo к PATHEXT переменная окружения, а затем командная строка может быть просто script без продления

Иногда полезно держать несколько версий 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, которая упростит вам данное взаимодействие с окружением и путями.

  • Let you change the global Python version on a per-user basis.
  • Provide support for per-project Python versions.
  • Allow you to override the Python version with an environment variable.
  • Search commands from multiple versions of Python at a time. This may be helpful to test across Python versions with tox.

/.pyenv/versions/ . Изменять версии Python можно как в глобальном контексте так и в локальном(например под конкретный проект).

Как ставить 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 с каким окружение использовать для данного проекта.

Я установил Anaconda 2 & 3 в своей системе. Anaconda 2 содержит python 2.7 & Anaconda 3 содержит python 3.6 .

Мне нужно запустить свой код Python с помощью командной строки, и мне нужно использовать Python 3.6 Пока я бегаю python --version , я получаю python 2.7.14 . Как мне изменить его на Python 3.6?


Как видите, у меня установлены как Python2, так и Python3.


Я надеюсь, вы знаете, что путь к исполняемому файлу python должен быть добавлен в переменную окружения PATH в Windows. Как вы можете видеть, путь Python2 находится выше пути Python3 в моей системе.

Как команды запускают команды?
Он ищет исполняемый файл с тем же именем в каталоге, в котором был открыт cmd, затем выполняет поиск команды в местах, указанных в переменной PATH Windows, от TOP до BOTTOM. Это означает, что он получает путь к Python2, прежде чем он сможет добраться до пути Python3. Поэтому каждый раз, когда вы вводите python в свой cmd, он запускает Python2.
Исполняемые файлы Python2 и Python3 имеют одинаковое имя в Windows, поэтому он никогда не запускает python3.

Что кажется очевидным решением?
Вы можете подумать, что изменение имени python.exe на python3.exe для исполняемого файла Python3 решит вашу проблему. Вы частично правы, это сработает. Но вы должны использовать python3 file.py или python3 --version , что, я думаю, понятно. Но pip больше не будет работать, если вы измените имя исходного исполняемого файла python. Вы больше не сможете устанавливать внешние пакеты и модули.

Как решить эту проблему?
Вы можете создать псевдоним для исполняемого файла Python3 с именем python3.bat .
Файлы .exe и .bat можно вызывать из cmd напрямую, без использования их расширения. Мы всегда пишем python filename.py вместо python.exe filename.py , хотя оба они верны. То же самое можно сделать с файлами .bat .
Вернитесь к первому изображению и обратите внимание на файл python3.bat ниже python.exe . Это мой способ вызова python3 без переименования моего исходного исполняемого файла python.

python3.bat
Создайте новый файл с помощью блокнота или чего-то еще и вставьте этот %

dp0python %*
Я не совсем понимаю, как это работает, за исключением того, что dp0 в основном запускает python из той же директории и %* передает все аргументы в исполняемый файл python. Поместите этот файл в каталог установки Python3, и, надеюсь, ваша проблема будет решена.


В основном python3 запускает ваш файл python3.bat , который, в свою очередь, запускает python.exe из своей папки и передает ему аргументы.

Надеюсь, это решит вашу проблему.

Если Anaconda 3 - единственный интерпретатор python3 в системе, вы можете запустить python3 вместо python в командной строке, и он должен работать.

Вы можете изменить параметр PATH , инвертируя позиции обоих интерпретаторов.

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

Но чтобы ответить на ваш вопрос, вы можете использовать alias и обновить его как python .

Для запуска вашего скрипта с Python 3 вы можете использовать

П.С .: Это должен быть комментарий, но у меня нет необходимой репутации. :)

Если вы хотите запустить Python 3.6, выполните python3.6 . В противном случае проверьте с which python , где находится символическая ссылка на фактический исполняемый файл python. В моей системе это

И когда я ls -la /usr/bin/python , это дает

Если вы действительно уверены, что хотите это сделать, теперь вы можете просто переместить старую символическую ссылку куда-нибудь:

И создайте новую символическую ссылку:

Теперь вы должны получить что-то вроде:

Я не гарантирую, что это не сломает все в мире, особенно если у вас есть какой-то дистрибутив, у которого есть менеджер пакетов, который полагается на определенную версию Python в python .

Как обновить Python в Windows?

Статьи

Подробно рассмотрим как правильно обновить язык программирования Python.

Введение

Узнаем текущую версию

Командная строка Windows

Командная строка Windows

Скачиваем последнюю версию

Нажимаем кнопочку Download Python и скачиваем дистрибутив

Загрузка последней версии Python с помощью браузера Edge

Установка

Так как у меня установлена уже последняя версия Python мне пришлось скачать beta версию для демонстрации процесса обновления. Не пугайтесь из за того, что на картинках другая версия, это не ошибка 🙂

Запуск установочного пакета Python 3.9

Запуск установочного пакета Python 3.9

Ставим обязательно галочку перед пунктом Add Python 3.9 to PATH.

Нажимаем Install Now и переходим далее.

Обязательно предоставляем полные права приложению

Запрос прав администратора для установки Python

Запрос прав администратора для установки Python

Дожидаемся окончания процесса установки и в конце нажимаем Close

Завершение установки Python для Windows

Завершение установки Python для Windows

Проверка установки

В самом начале я описал процесс сверки текущий версии Python. Нам сейчас это необходимо повторить, только предварительно перезапустив окно cmd.exe иначе запуститься python старой версии 🙂

Заключение

В этой статье мы рассмотрели процесс обновления языка программирования Python, прошли от первого до последнего шага и успешно завершили обновление.

На это все. Поздравляю, теперь у вас установлена последняя версия Python.

Читайте также: