Fang-Pen Lin
Fang-Pen Lin

Reputation: 14446

How can I find where Python is installed on Windows?

I want to find out my Python installation path on Windows. For example:

C:\Python25

How can I find where Python is installed?

Upvotes: 471

Views: 1560994

Answers (24)

elo80ka
elo80ka

Reputation: 15885

In your Python interpreter, type the following commands:

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

Also, you can club all these and use a single line command. Open cmd and enter following command

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

Upvotes: 831

Guðmundur H
Guðmundur H

Reputation: 11988

In the sys package, you can find a lot of useful information about your installation:

import sys
print(sys.executable)
print(sys.exec_prefix)

I'm not sure what this will give on your Windows system, but on my Mac executable points to the Python binary and exec_prefix to the installation root.

You could also try this for inspecting your sys module:

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

Upvotes: 17

dazhuang
dazhuang

Reputation: 31

To run the WHERE command from PowerShell it is necessary to specify the .exe extension: 'WHERE.exe' otherwise the Where-Object cmdlet will take precedence.

Upvotes: 3

Harry Zhang
Harry Zhang

Reputation: 11

On my Windows 11, I have two Python installed: 3.11.2 and 3.8. The below commends give only one of them.

Which python

which py

To find out the location of both the below Powershell commands come in handy:

$User = New-Object System.Security.Principal.NTAccount($env:UserName)

$sid = $User.Translate([System.Security.Principal.SecurityIdentifier]).value

New-PSDrive HKU Registry HKEY_USERS

Get-ChildItem "HKU:\${sid}\Software\Python\PythonCore\*\InstallPath"

Upvotes: 0

Jigyanshu Chouhan
Jigyanshu Chouhan

Reputation: 1

Option 1 : Check System Environment Variables > Path

Option 2 : C:\Users\Asus\AppData\Local\Programs\Python (By default Path)

Upvotes: 0

Aekansh Kansal
Aekansh Kansal

Reputation: 3211

If you have Python in your environment variable then you can use the following command in cmd or powershell:

 where python

or for Unix enviroment

 which python

command line image :

enter image description here

Upvotes: 272

carlin.scott
carlin.scott

Reputation: 7345

If you have the py command installed, which you likely do, then just use the --list-paths/-0p argument to the command:

py --list-paths

Example output:

Installed Pythons found by py Launcher for Windows
-3.8-32 C:\Users\cscott\AppData\Local\Programs\Python\Python38-32\python.exe *
-2.7-64 C:\Python27\python.exe

The * indicates the currently active version for scripts executed using the py command.

Upvotes: 45

oyeyipo
oyeyipo

Reputation: 419

Make use of the Python Launcher for Windows (available as of 3.3). It is compatible with all available versions of python.

First, check if the launcher is available:

py 

starts the latest installed version of Python

To see all Python versions available on your system and their path:

py -0p

or

py --list-paths

For a specific Python version path—especially useful with multiple python installations:

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

python 2

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

py installed location is C:\Windows\py.exe if installed for all users, otherwise can be found at C:\Users\username\AppData\Local\Programs\Python\Launcher. It does not require the environment PATH variable to be set if installed for all users.

Upvotes: 7

Alan Simpson
Alan Simpson

Reputation: 473

You could have many versions of Python installed on your machine. So if you're in Windows at a command prompt, entering something like this...

py --version

...should tell you what version you're using at the moment. (Maybe replace py with python or python3 if py doesn't work). Anyway you'd see something like

Python 3.10.2

If you then create a virtual environment using something like this...

py -m venv venv

...that environment will also use that Python version. To verify, activate the environment...

venv\scripts\activate.bat 

You'll see the name of the command prompt. Now if execute:

where python

...it will show you which Python executable that virtual environment uses. It will be a copy of Python.exe what's actually in the Scripts subfolder of the virtual environment folder. Of course to see which version that is, again use py --version.

Upvotes: 2

Wingrider07
Wingrider07

Reputation: 41

You can find it in the Windows GUI, but you need to select “show hidden” in the menu. Directory where python is installed on my Win10 computer:

C:\Users\username\AppData\Local\Programs\Python\Python310

Very handy if you use python pip to install packages.

Upvotes: 4

BigData-Guru
BigData-Guru

Reputation: 1261

Simple way is

  1. open CMD
  2. type where python in cmd

Upvotes: 41

utkarsh2299
utkarsh2299

Reputation: 311

Its generally

'C:\Users\user-name\AppData\Local\Programs\Python\Python-version'

or try using (in cmd )

where python

Upvotes: 17

PV8
PV8

Reputation: 6280

If you use anaconda navigator on windows, you can go too enviornments and scroll over the enviornments, the root enviorment will indicate where it is installed. It can help if you want to use this enviorment when you need to connect this to other applications, where you want to integrate some python code.

Upvotes: 0

SATYAJIT MAITRA
SATYAJIT MAITRA

Reputation: 73

Go to C:\Users\USER\AppData\Local\Programs\Python\Python36 if it is not there then open console by windows+^R Then type cmd and hit enter type python if installed in your local file it will show you its version from there type the following import os import sys os.path.dirname(sys.executable)

Upvotes: 2

Douglas Gilliland
Douglas Gilliland

Reputation: 1

I installed 2 and 3 and had the same problem finding 3. Fortunately, typing path at the windows path let me find where I had installed it. The path was an option when I installed Python which I just forgot. If you didn't select setting the path when you installed Python 3 that probably won't work - unless you manually updated the path when you installed it. In my case it was at c:\Program Files\Python37\python.exe

Upvotes: 0

If You want the Path After successful installation then first open you CMD and type python or python -i

It Will Open interactive shell for You and Then type

import sys

sys.executable

Hit enter and you will get path where your python is installed ...

Upvotes: 10

Amit Gupta
Amit Gupta

Reputation: 2928

You can search for the "environmental variable for you account". If you have added the Python in the path, it'll show as "path" in your environmental variable account.

but almost always you will find it in "C:\Users\%User_name%\AppData\Local\Programs\Python\Python_version"

the 'AppData' folder may be hidden, make it visible from the view section of toolbar.

Upvotes: 6

user8318311
user8318311

Reputation:

To know where Python is installed you can execute where python in your cmd.exe.

Upvotes: 8

Prashant Gonga
Prashant Gonga

Reputation: 161

This worked for me: C:\Users\Your_user_name\AppData\Local\Programs\Python

My currently installed python version is 3.7.0

Hope this helps!

Upvotes: 1

Ashwarya sharma
Ashwarya sharma

Reputation: 11

if you still stuck or you get this

C:\\\Users\\\name of your\\\AppData\\\Local\\\Programs\\\Python\\\Python36

simply do this replace 2 \ with one

C:\Users\akshay\AppData\Local\Programs\Python\Python36

Upvotes: 0

Amol Manthalkar
Amol Manthalkar

Reputation: 2088

It would be either of

  • C:\Python36
  • C:\Users\(Your logged in User)\AppData\Local\Programs\Python\Python36

Upvotes: 118

Peter
Peter

Reputation: 38585

If anyone needs to do this in C# I'm using the following code:

static string GetPythonExecutablePath(int major = 3)
{
    var software = "SOFTWARE";
    var key = Registry.CurrentUser.OpenSubKey(software);
    if (key == null)
        key = Registry.LocalMachine.OpenSubKey(software);
    if (key == null)
        return null;

    var pythonCoreKey = key.OpenSubKey(@"Python\PythonCore");
    if (pythonCoreKey == null)
        pythonCoreKey = key.OpenSubKey(@"Wow6432Node\Python\PythonCore");
    if (pythonCoreKey == null)
        return null;

    var pythonVersionRegex = new Regex("^" + major + @"\.(\d+)-(\d+)$");
    var targetVersion = pythonCoreKey.GetSubKeyNames().
                                        Select(n => pythonVersionRegex.Match(n)).
                                        Where(m => m.Success).
                                        OrderByDescending(m => int.Parse(m.Groups[1].Value)).
                                        ThenByDescending(m => int.Parse(m.Groups[2].Value)).
                                        Select(m => m.Groups[0].Value).First();

    var installPathKey = pythonCoreKey.OpenSubKey(targetVersion + @"\InstallPath");
    if (installPathKey == null)
        return null;

    return (string)installPathKey.GetValue("ExecutablePath");
}

Upvotes: 3

codeape
codeape

Reputation: 100914

If you need to know the installed path under Windows without starting the python interpreter, have a look in the Windows registry.

Each installed Python version will have a registry key in either:

  • HKLM\SOFTWARE\Python\PythonCore\versionnumber\InstallPath
  • HKCU\SOFTWARE\Python\PythonCore\versionnumber\InstallPath

In 64-bit Windows, it will be under the Wow6432Node key:

  • HKLM\SOFTWARE\Wow6432Node\Python\PythonCore\versionnumber\InstallPath

Upvotes: 56

gimel
gimel

Reputation: 86502

On my windows installation, I get these results:

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

(You can also look in sys.path for reasonable locations.)

Upvotes: 26

Related Questions