Как мне установить версию Python по умолчанию в Windows - PullRequest
47 голосов
/ 23 февраля 2011

Я установил Python 2.6 и Python 3 в Windows 7 и установил переменную среды: path = d:\python2.6.

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

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

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

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

import sys
print (sys.version)

Ответы [ 12 ]

48 голосов
/ 23 февраля 2011

Последний установленный вами 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 будут установлены позже, убедитесь, что , а не , чтобы зарегистрировать их в среде, поэтому программа запуска останется по умолчанию.

Вот как проверить, правильно ли зарегистрирована программа запуска изconsole:

C:\>assoc .py
.py=Python.File

C:\>ftype Python.File
Python.File="C:\Windows\py.exe" "%1" %*

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

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

py -3 script.py    # force latest Python 3.X version to be used.

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

38 голосов
/ 14 января 2017

Запущенная команда 'py' сообщит вам, какая у вас версия.Если вы в настоящее время используете 3.x и вам нужно переключиться на 2.x, вам нужно будет использовать переключатель '-2'

py -2

Если вам нужно переключиться с python 2.x на python 3.x вам нужно будет использовать ключ -3

py -3

Если вы хотите использовать Python 3.x в качестве версии по умолчанию, вам нужно будет создать переменную окружения PY_PYTHON и установить ее значениедо 3.

15 голосов
/ 21 октября 2018

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

Перейти к This PC -> Right-click -> Click on Properties -> Advanced System Settings.

Вы увидите System Properties. Отсюда перейдите на вкладку "Advanced" -> Нажмите Environment Variables.

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

Отметьте System Variables и дважды щелкните по Path (чтобы отредактировать Путь).

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

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

14 голосов
/ 12 мая 2013

См. Здесь оригинальное сообщение

;
; This is an example of how a Python Launcher .ini file is structured.
; If you want to use it, copy it to py.ini and make your changes there,
; after removing this header comment.
; This file will be removed on launcher uninstallation and overwritten
; when the launcher is installed or upgraded, so don't edit this file
; as your changes will be lost.
;
[defaults]
; Uncomment out the following line to have Python 3 be the default.
;python=3

[commands]
; Put in any customised commands you want here, in the format
; that's shown in the example line. You only need quotes around the
; executable if the path has spaces in it.
;
; You can then use e.g. #!myprog as your shebang line in scripts, and
; the launcher would invoke e.g.
;
; "c:\Program Files\MyCustom.exe" -a -b -c myscript.py
;
;myprog="c:\Program Files\MyCustom.exe" -a -b -c

Таким образом, в моей системе я создал файл py.ini в c:\windows\, где существует py.exe, со следующим содержимым:

[defaults]
python=3

Теперь, когда вы дважды щелкнете по файлу .py, он будет запущен в новой версии по умолчанию.Сейчас я использую только Шебанг #! python2 в своих старых сценариях.

9 голосов
/ 02 августа 2012
  1. Изменить раздел реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\python.exe\default
  2. Установить программу по умолчанию для открытия .py файлов на python.exe
4 голосов
/ 14 ноября 2017

Это сработало для меня:

Перейти к

Control Panel\System and Security\System

select

Advanced system settings from the left panel
from Advanced tab click on Environment Variables

В разделе системных переменных найдите ( create if hasn 't существует )

PYTHONPATH

и установите

C:\Python27\;C:\Python27\Scripts;

или желаемую версию

Вам необходимо перезапустить CMD.

В случаеон по-прежнему не работает, вы можете оставить в переменной PATH только нужную версию.

2 голосов
/ 30 ноября 2016

Ничто из вышеперечисленного не сработало, это то, что у меня сработало:

ftype Python.File=C:\Path\to\python.exe "%1" %*

Эта команда должна быть запущена в командной строке, запущенной от имени администратора

Предупреждение: даже если путь в этой командеустановите python35, если у вас установлен python36, по умолчанию будет установлено значение python36.Чтобы предотвратить это, вы можете временно изменить имя папки с Python36 на xxPython36, выполнить команду и затем удалить изменение в папке Python 36.

2 голосов
/ 03 января 2013

Теперь, когда выпущен Python 3.3, проще всего использовать описанную здесь утилиту py.exe: http://www.python.org/dev/peps/pep-0397/

Это позволяет вам указать версию Python в вашем файле скрипта, используя директиву стиля UNIX. Существуют также параметры командной строки и переменных среды для управления тем, какая версия Python запускается.

Самый простой способ получить эту утилиту - это установить Python 3.3 или более позднюю версию.

1 голос
/ 22 декабря 2018

Это работает для меня.

Если вы хотите использовать python 3.6, вы должны переместить python3.6 в начало списка.

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

step 1

enter image description here

шаг 2

enter image description here

шаг 3

enter image description here

, затем закройте любую командную строку cmd и снова откройте, она должна работать как положено.

python --version

>>> Python 3.6
1 голос
/ 06 апреля 2018

Проверьте, какой из них в данный момент используется системой:

python --version

Добавьте местоположение главной папки (например, C / ProgramFiles) и Сценарии (C / ProgramFiles / Scripts) в переменные среды системы.Добавьте версию 3.x и версию 2.x

Путь к пути ранжируется внутри переменной среды.Если вы хотите использовать Python 2.x, просто сначала укажите путь к python 2.x, если вы хотите использовать Python 3.x, просто сначала укажите 3.x

При этом используется Python 2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...