Python更新-如何更新`py`以指向新版本?

时间:2019-10-25 16:02:47

标签: python upgrade python-venv python-py

我从v3.7开始学习Python,现在v3.8退出了。

我已经下载了3.8.0,并将其安装到python38文件夹旁边的新python37目录中。路径已更新,现在同时包含python v3.7和v3.8。

如何更新py

如果我打开一个新的命令窗口 Git Bash 窗口,则python --version已更新,但py --version未更新,我该如何更新py指向最新版本?

关于虚拟环境还有其他考虑因素吗?

他们应该继续指出使用它们构建的python版本-当venv处于活动状态时,pythonpy都是正确的吗?


注意: py是自v3.3起Python附带的命令行python启动器工具

1 个答案:

答案 0 :(得分:0)

搜索了一会儿之后,我至少偶然发现了py更新部分的答案。

py命令是Python随附的可执行文件,从Python v3.3开始。它称为"Python Launcher" in the official Python documentation

Python Launcher上的文档非常完善,但是为了回答我的原始问题,我已将环境变量PY_PYTHON设置为3.7,以将py的默认Python版本声明为使用。

我能够通过将其更新为3.8并重新启动任何使用终端访问py / python的终端和程序来解决该问题。还有其他Python环境变量,所以我全部更新了它们:

更新:我能够完全删除PYTHONHOMEPYTHONPATH变量,而只需使用PY_PYTHON来控制默认版本。您可以详细了解这些变量in the Environment Variables section of the Python Documentation

  • PY_PYTHON设置为3.8
  • PYTHONHOME设置到我的新Python38目录
  • PYTHONPATH添加了新的python38python38/scripts目录。

注意::更新环境变量后,您将需要重新启动某些程序,而其他程序可能需要注销或完全重新启动(Windows上的VS Code确实如此)。


有关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,等等。