如何在Windows系统中查找Python的安装位置?

417

我想知道在Windows上Python的安装路径。例如:

C:\Python25

如何找到Python的安装路径?


你应该提供更多的信息。你知道Python已经安装了,但是你能否运行Python呢?在我的情况下,我没有安装它;各种产品可能已经安装了它,我想找出它是否存在于文件系统中。解释器会被称为python.exe吗?我不知道。 - David Spector
23个回答

751

在你的Python解释器中,输入以下命令:

>>> import os
>>> import sys
>>> os.path.dirname(sys.executable)
'C:\\Python25'

此外,你可以将它们全部整合在一起并使用单行命令。打开命令提示符并输入以下命令。

python -c "import os, sys; print(os.path.dirname(sys.executable))"

2
如果您在虚拟环境中该怎么办?那么这个方法就不起作用了。 - flaviut
3
它应该会给出Virtualenv的Python可执行文件路径。如果是那种情况,我不知道如何获取操作系统的Python,但如果您在Virtualenv中运行,我很想知道为什么您需要它? - elo80ka
1
我的脚本创建了一个虚拟环境,因此它使用系统Python来完成。不过你让我开始思考,也许这并不是必要的...我会在周一进行检查,谢谢! - flaviut
错误:"C:\WINDOWS\system32>import os 'import' 不是内部或外部命令,也不是可运行的程序或批处理文件。" - David Spector
@David Spector:我的错。我应该注明您必须在Python解释器中键入这些命令,我会更新答案 :-) - elo80ka
显示剩余8条评论

244

如果您的环境变量中有Python,则可以在cmd或powershell中使用以下命令:

where python

对于Unix环境,请使用以下命令:

which python

命令行图像:

输入图像描述


6
当你将已安装的Python路径添加到你的环境变量中时,它可以在Windows上运行,否则它不会生效。 - jdev
@jdev 可以在 Windows、Mac 和 Linux 上使用。答案中已经提到了环境变量应该存在。 - Aekansh Kansal
谢谢Aekansh Kansal。 - Two

105

这将是以下两者之一:

  • C:\Python36
  • C:\Users\(您当前登录的用户名)\AppData\Local\Programs\Python\Python36

8
我的Python 3.6在Win10上的路径是:C:\Users\YANG.LEI\AppData\Local\Programs\Python\Python36-32 - Lei Yang
12
Python的安装路径可以自由定制。我有几台机器甚至没有C:\驱动器。此外,本地应用程序数据不一定在C:\ Users下。 - Matteo Italia
2
这不是正确的,它可以安装在任何地方。 elo80ka 的答案是要使用的! - Hossein
1
这对我有用。如果您不知道Python解释器在哪里,而且它不在路径中,那么您该如何遵循@Hossein的说明? - Scott Siddall
@ScottSiddall,你的意思是说,你知道Python已经安装在你的电脑上,但它不在PATH中,你需要找到它!有很多方法,其中一个是使用Windows中的搜索功能,或者使用Everything!或打开regedit并搜索Python。你会找到你要找的东西。 - Hossein

55

如果你需要在Windows下查找Python的安装路径而不用启动Python解释器,可以查看Windows注册表。

每个已安装的Python版本都将在以下其中一个注册表键中:

  • HKLM\SOFTWARE\Python\PythonCore\版本号\InstallPath
  • HKCU\SOFTWARE\Python\PythonCore\版本号\InstallPath

在64位的Windows系统中,它将位于Wow6432Node键下:

  • HKLM\SOFTWARE\Wow6432Node\Python\PythonCore\版本号\InstallPath

Windows 7上的信息在哪里?如果您有一台Windows 7电脑方便,能否搜索注册表中的Python和PythonCore,并查看是否找到了安装路径值。 - codeape
7
在 64 位版本的 Windows 中(您可能正在使用的版本),该位置将位于 Wow6432Node 密钥下,即 HKLM\SOFTWARE\Wow6432Node\Python\PythonCore\versionnumber\InstallPath。 - piksel bitworks
1
这是一种不错的方法,但使用它需要知道当前Python版本。我仍在寻找一种好的方法来检测Python路径,以便与NSIS安装程序一起使用。 - PerryWerneck
1
如果在64位Windows上运行32位Python,则它会位于Wow6432Node下。还要注意,由于注册表重定向,32位应用程序通常无法检测到注册表中的64位(非Wow6432Node)键(这意味着32位应用程序无法检测到64位Python安装)。 - jtbr
1
啊,我在安装时没有注意,他们把它放到了根目录下。为什么很难按照程序要求将其放在正确的层次结构中呢? - GaTechThomas
显示剩余3条评论

38

简单的方法是

  1. 打开CMD
  2. 在cmd中键入where python

如果我们在Ubuntu系统中怎么办? - Milan Kumar Bura
请尝试以下操作。我没有在我的系统中安装Ubuntu,但请尝试以下命令:"type -a python" - BigData-Guru

30
如果您已经安装了py命令(很可能已经安装),那么只需使用--list-paths/-0p参数运行该命令: py --list-paths 输出示例: “py启动程序”在Windows中找到的已安装Python版本 -3.8-32 C:\Users\cscott\AppData\Local\Programs\Python\Python38-32\python.exe *
-2.7-64 C:\Python27\python.exe 星号(*)表示当前活动版本,用于使用py命令执行的脚本。

4
速记:py -0p - Dmitriy Work

24

在我的Windows安装中,我得到了以下结果:

>>> import sys
>>> sys.executable
'C:\\Python26\\python.exe'
>>> sys.platform
'win32'
>>>

(您还可以查看sys.path以获取合理的位置。)


但是我们如何使用批处理文件来完成相同的操作呢? - Patrick
@Patrick 我认为 python -c "import sys; print(sys.executable)" 可以工作。 - wjandrea

16

通常情况下,Python的安装路径是'C:\ Users \用户名称 \ AppData \ Local \ Programs \ Python \ Python-version'。

或者,您可以尝试在命令提示符(cmd)中使用以下命令:

where python


12

sys包中,你可以找到许多关于你的安装环境有用的信息:

import sys
print sys.executable
print sys.exec_prefix

我不确定这在你的Windows系统上会得到什么结果,但在我的Mac上,executable指向Python二进制文件,而exec_prefix指向安装根目录。

您还可以尝试使用以下代码来检查您的sys模块:

import sys
for k,v in sys.__dict__.items():
    if not callable(v):
        print "%20s: %s" % (k,repr(v))

@GuoH,我们能用批处理文件做同样的事情吗? - Patrick
1
你可以这样做:python -c "import sys; print(sys.executable)" - Guðmundur H

10

如果你想在成功安装后获取路径,则首先打开命令提示符(CMD)并输入python或python -i。

它将为您打开交互式 shell,然后输入:

import sys

sys.executable

按回车键,您将获得Python安装路径...


我遇到的问题是,我正在运行Python 2.7并希望升级到3.6。我安装了3.6,但当我在命令行上输入python时,仍然在使用旧的2.7版本。 - tzg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接