在powershell中查看python版本最直接的方法是输入 python –version 或 py –version,前者调用系统path中第一个python,后者通过python launcher更稳定地查找版本;2. 若提示“python不是内部或外部命令”,说明python未添加到path,需检查安装时是否勾选“add python to path”,或手动将python安装目录及其scripts目录添加到系统环境变量path中,并重启powershell生效;3. 当系统存在多个python版本时,powershell默认使用path中首个找到的python.exe,可通过 get-command python 查看当前实际调用的完整路径,或使用 py -3.9 –version 等命令指定特定版本;4. 除版本号外,还可通过 get-command python 获取可执行文件路径,或运行 python -c "import sys; print(sys.executable)" 输出解释器路径、python -c "import sys; print(sys.version)" 显示详细版本信息、python -c "import sys; import json; print(json.dumps(sys.path, indent=2))" 查看模块搜索路径;5. 可通过 pip –version 和 pip list 检查当前环境中pip的版本及已安装的第三方包列表,帮助全面掌握python环境状态。
查看Python版本在PowerShell里其实挺直接的,通常你只需要打开PowerShell,然后敲入
python --version
或者
py --version
就行了。这能让你快速知道当前系统默认调用的Python是哪个版本,省去了不少找安装路径的麻烦。
解决方案
要通过PowerShell获取Python的版本信息,最常用的方法是直接调用Python的可执行文件并传入版本查询参数。
打开PowerShell窗口。这通常可以通过在Windows搜索栏输入“PowerShell”并点击打开来完成。
立即学习“Python免费学习笔记(深入)”;
输入以下命令之一:
-
python --version
: 这是最常见且推荐的方式。它会调用系统PATH环境变量中找到的第一个
python.exe
,并显示其版本号。
python --version
如果你的系统上正确配置了Python的PATH,你会看到类似
Python 3.9.7
这样的输出。
-
py --version
: 如果你安装了Python Launcher for Windows(通常在安装Python时默认勾选),这个命令会更稳定。
py.exe
会智能地查找并调用最新安装的Python版本,或者你可以通过指定版本号来调用特定版本,例如
py -3.9 --version
。
py --version
这个命令的输出通常和
python --version
类似,但它背后的逻辑略有不同。
-
python -V
: 这是旧版本的Python支持的语法,但在新版本中
--version
更常见。它也能达到同样的效果。
python -V
如果你的PowerShell提示“
python
不是内部或外部命令,也不是可运行的程序或批处理文件”,那通常意味着Python的可执行文件路径没有被正确添加到系统的环境变量
PATH
中。
当PowerShell提示’python’不是内部或外部命令时,我该怎么办?
遇到这种提示,我个人经验是,这几乎总是环境变量
PATH
的问题。系统在执行命令时,会去
PATH
里列出的所有目录里找对应的可执行文件。如果Python的安装路径不在这个列表里,它当然就找不到。
解决这个问题有几个办法:
-
检查Python安装时的选项:在安装Python时,有一个非常关键的选项是“Add Python to PATH”(或者类似表述)。如果这个选项没有勾选,那么安装完成后,系统默认是找不到
python
命令的。如果你是自己手动安装的,下次安装时记得勾选它。
-
手动添加Python到PATH环境变量:
- 首先,你需要找到Python的安装路径。比如,它可能在
C:UsersYourUserAppDataLocalProgramsPythonPython39
或者
C:Python39
。通常,你需要将包含
python.exe
的那个目录(例如
C:Python39
)以及其下的
Scripts
目录(例如
C:Python39Scripts
,因为pip和其他工具都在这里)添加到PATH。
- 在Windows搜索栏输入“环境变量”,选择“编辑系统环境变量”。
- 点击“环境变量”按钮。
- 在“系统变量”下找到
PATH
变量,选中它,然后点击“编辑”。
- 点击“新建”,然后粘贴你的Python安装路径(例如
C:Python39
)。
- 再次点击“新建”,粘贴Python
Scripts
目录的路径(例如
C:Python39Scripts
)。
- 点击“确定”关闭所有窗口。
- 重要提示:修改环境变量后,你需要关闭所有已打开的PowerShell窗口,然后重新打开一个新的PowerShell窗口,这些更改才会生效。
- 首先,你需要找到Python的安装路径。比如,它可能在
-
使用
py.exe
(Python Launcher):如果你安装了Python Launcher,即使
python.exe
没有在PATH中,
py.exe
通常也会被添加到PATH。所以,你可以尝试直接使用
py --version
来查看版本。这算是Windows上Python生态的一个便利之处,它能帮你处理一些PATH的烦恼。
我的系统上安装了多个Python版本,PowerShell会默认使用哪一个?
这确实是个常见且让人头疼的问题,尤其是在开发环境中,你可能需要同时用到Python 2和Python 3,或者不同版本的Python 3。PowerShell(或者说,Windows命令行)默认使用哪个Python版本,完全取决于你的系统
PATH
环境变量的配置顺序。
简单来说:PowerShell会使用
PATH
环境变量中第一个找到的
python.exe
。
这意味着:
- 如果你的
PATH
里
C:Python39
在
C:Python38
前面,那么当你输入
python
命令时,PowerShell会优先调用Python 3.9。
- 如果你安装了Anaconda或Miniconda,它们通常会在安装时将自己的Python路径添加到
PATH
的最前面,这样当你激活某个环境时,该环境的Python就会被优先使用。
要明确PowerShell当前正在使用哪个
python.exe
,我个人会用这个命令:
Get-Command python
这个命令会显示PowerShell解析
python
命令时找到的完整路径,比如
C:UsersYourUserAppDataLocalProgramsPythonPython39python.exe
。这比单纯的版本号更能让你了解实际情况。
如果你需要管理多个Python版本并灵活切换,以下是一些更高级的方法:
-
Python Launcher for Windows (
py.exe
):这是Windows上管理多版本最直接的方式。
-
py -3.9 --version
: 明确指定使用Python 3.9。
-
py -2.7 --version
: 如果你还安装了Python 2.7。
-
py -3 --version
: 使用最新的Python 3版本。
-
py -0 --version
: 使用最新的Python 2版本。 通过这种方式,你可以避免修改PATH,直接在命令中指定所需版本。
-
-
虚拟环境(Virtual Environments):这是Python开发中的最佳实践。使用
venv
(Python 3自带)或
virtualenv
可以为每个项目创建独立的Python环境。当你激活一个虚拟环境时,该环境的Python版本和安装的包都会被优先使用,而不会影响系统全局的Python。
- 创建:
python -m venv myenv
- 激活:
.myenvScriptsactivate
(在PowerShell中) 激活后,你再运行
python --version
就会显示虚拟环境的Python版本。
- 创建:
-
版本管理工具(如
pyenv-win
或
conda
):
-
pyenv-win
:这是Windows上的
pyenv
实现,允许你在命令行轻松安装、切换和管理多个Python版本,它会自动处理PATH。
-
conda
:如果你使用Anaconda或Miniconda,
conda
环境管理功能非常强大,可以创建、激活和管理包含特定Python版本和包的独立环境。
-
除了简单的版本号,PowerShell还能帮我检查Python的安装路径或更多细节吗?
当然可以!仅仅知道版本号有时是不够的,尤其是在调试环境问题或者需要确认Python安装细节的时候。PowerShell配合Python自身的一些内置模块,能提供更深入的信息。
-
获取Python可执行文件的完整路径: 这是我最常用的一个命令,能直接告诉你PowerShell正在使用的
python.exe
到底在哪儿。
Get-Command python
输出会包含
PATH
字段,显示完整的可执行文件路径,比如
Path : C:UsersYourUserAppDataLocalProgramsPythonPython39python.exe
。这对于确认是否使用了正确的Python安装非常有用。
-
通过Python内部模块获取更详细的安装信息: 你可以让Python自己来报告它的安装路径、版本字符串以及模块搜索路径。这比简单的
--version
要详细得多。
-
获取Python解释器路径(sys.executable):
python -c "import sys; print(sys.executable)"
这个命令会直接打印出当前Python解释器的完整路径。这和
Get-Command python
的结果通常是一致的,但这是从Python内部视角看。
-
获取详细的Python版本信息(sys.version):
python -c "import sys; print(sys.version)"
这个命令会返回一个包含更多细节的版本字符串,例如
3.9.7 (tags/v3.9.7:1016ef3, Aug 30 2021, 20:19:38) [MSC v.1929 64 bit (AMD64)]
。它包含了编译信息、位数等。
-
查看Python的模块搜索路径(sys.path):
python -c "import sys; import json; print(json.dumps(sys.path, indent=2))"
sys.path
是一个列表,包含了Python在导入模块时会去查找的目录。这对于调试
ModuleNotFoundError
非常有用。我这里加了个
json
模块来格式化输出,让它看起来更清晰。
-
-
检查pip版本和已安装的包: 虽然不是Python解释器本身的信息,但
pip
是Python生态系统不可或缺的一部分,它的版本和安装的包信息也很有用。
- pip版本:
pip --version
- 已安装的Python包:
pip list
这个命令会列出当前Python环境中所有已安装的第三方包及其版本。
- pip版本:
评论(已关闭)
评论已关闭