我之前在Windows 10上运行的是Python 2.7.11。
今天,我下载并安装了Python 2.7.13,但PowerShell版本仍为2.7.11:
python --version
Python 2.7.11
- 我如何检查我电脑上安装的所有Python版本?
- 我如何卸载Python 2.7.11?
- 我如何将Python 2.7.13设置为在PowerShell中启动的默认Python版本?
我之前在Windows 10上运行的是Python 2.7.11。
今天,我下载并安装了Python 2.7.13,但PowerShell版本仍为2.7.11:
python --version
Python 2.7.11
Get-Command python | fl *
命令可以告诉你它找到的Python可执行文件以及有关其所在位置的详细信息。Get-Command
命令的输出,看看它是与什么一起安装的,并决定是否要删除它。
3. PowerShell 在输入命令时如何选择要运行的内容已在帮助文档about_Command_Precedence中解释。按照以下顺序:PATH
环境变量,这是一个分号分隔的路径列表,按顺序搜索其中的文件夹,寻找匹配的可执行文件。$Env:PATH -split ';'
你可以使用以下命令观察PowerShell如何识别要运行的 'python':
Get-Command python
Trace-Command –Name CommandDiscovery –Expression {get-command python} -PSHost
所以,要让 Python 2.7.13 成为默认启动的版本,你可以:
New-Alias -name python -Value C:\Python27\python.exe
等)。这是一个关于Python 2.7 的问题,但可能对3.3以上版本也有用:
以前,安装多个Python版本很少见,只需将可用的python.exe
直接放在PATH
中即可。但是,如果简单地放置多个已安装的Python版本,它们将冲突并互相覆盖。
自3.3以后,引入了Python启动器,它可以自动检测和运行所需的版本。应该将其放置在PATH
中,而不是特定的Python可执行文件。
现在最好不要默认提供任何python.exe
,而是临时激活可用性。例如,您有许多Python版本之一位于D:\python_install\python.exe
。在批处理中,默认情况下,python
命令正确地以未找到错误结束,但是在附加命令SET PATH=D:\python_install\;%PATH%
之后,它开始像以前一样工作。
因此,在这种现代情况下,Get-Command python | fl *
可能会给您没有或没有帮助的内容。
要运行脚本或获取可用版本,请使用启动器:
Get-Command py
命令进行测试。如果启动器丢失,请使用官方安装程序中的复选框进行确认。py -0p --list-paths
将会给出已安装版本的良好摘要,并且运行脚本的方式不再是以前的python main.py
,而是像py -3.5 main.py
这样的命令。运行py --help
获取更多信息。额外确认意图已更改。
我在Python3.8中执行PowerShell命令行语句,
import subprocess
subprocess.call('powershell.exe Get-WmiObject Win32_PnPSignedDriver| select DeviceName, Manufacturer, DriverVersion', shell=True)
运行结果为:
'select' is not an internal or external command, nor an executable program or batch file.
python(.exe)
文件的通用术语是Python解释器。除非你安装了包,否则我不确定Python是否有其他默认的可执行文件。不确定Python相关工具是否真的有一个术语? - TessellatingHeckler