Обновление Python - как обновить `py`, чтобы он указывал на новую версию? - PullRequest
0 голосов
/ 25 октября 2019

Я начал изучать Python на v3.7, а сейчас v3.8 отсутствует.

Я скачал 3.8.0 и установил его в новый каталог python38 рядом с моей папкой python37. Путь был обновлен и теперь включает в себя как Python v3.7, так и v3.8.

Как обновить py?

Если я открою новое Окно команд или окно Git Bash , python --version обновлено, но не py --version, как мне обновить py, чтобы он указывал на последнюю версию?

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

Они должны продолжать указывать на версию Python, с которой они были построены - верно ли это для python и py, когда venv активен?


Примечание: py - это средство запуска Python из командной строки, включенное в состав Python начиная с версии 3.3

1 Ответ

0 голосов
/ 25 октября 2019

Пройдя поиск некоторое время, я наткнулся на ответ для части обновления py, по крайней мере.

Команда py - это исполняемый файл, включенный в Python, начиная с Python v3.3. Он называется "Python Launcher" в официальной документации Python .

Документация по Python Launcher довольно полная, но чтобы ответить на мой первоначальный вопрос, я установил переменную окружения *От 1009 * до 3.7, чтобы объявить используемую по умолчанию версию Python для py.

Мне удалось устранить проблему, обновив ее до 3.8 и перезапустив любой терминал и программу, использующую терминал длядоступ к py / python. Существуют и другие переменные среды Python, поэтому я обновил их все:

ОБНОВЛЕНИЕ: Мне удалось полностью удалить переменные PYTHONHOME и PYTHONPATH и просто использовать PY_PYTHON для управленияверсия по умолчанию. Вы можете прочитать больше об этих переменных в разделе Переменные среды документации Python

  • установить PY_PYTHON в 3.8
  • установить PYTHONHOME вмой новый каталог Python38
  • для PYTHONPATH добавил новые каталоги python38 и python38/scripts.

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


Подробнее о команде и версиях py

Вы можете получить список основных py команд, используя py --help:

$ py --help
Python Launcher for Windows Version 3.8.150.1013

usage:
C:\WINDOWS\py.exe [launcher-args] [python-args] script [script-args]

Launcher arguments:

-2     : Launch the latest Python 2.x version
-3     : Launch the latest Python 3.x version
-X.Y   : Launch the specified Python version
     The above all default to 64 bit if a matching 64 bit python is present.
-X.Y-32: Launch the specified 32bit Python version
-X-32  : Launch the latest 32bit Python X version
-X.Y-64: Launch the specified 64bit Python version
-X-64  : Launch the latest 64bit Python X version
-0  --list       : List the available pythons
-0p --list-paths : List with paths

Строки версий, использованные для запуска конкретной версии python, - это то, что можно поместить вPY_PYTHON переменная окружения. Например, если вы просто хотели использовать последнюю версию Python3, используйте 3, для конкретного Python3 - 3.8 или 32-битную версию, используйте 3.8-32 и т. Д.

...