Using Python, How can I programmatically find whether the Python installed in my PC is installed for all users or for current user only?
-
I'm a Linux user, but couldn't you go in your PATH variable and see if it's added for just a user, or globally? First thought. Haven't used Windows since.. 2011 though. – cbll Jan 30 '17 at 13:07
-
For all user python will be installed in program files, for the current user, it will be in appdata. – JinSnow Nov 20 '22 at 13:10
2 Answers
If you have installed Python for all users, You should install python in this folder:
C:\Python27
Same as image
for more details check this tutorial

- 15,003
- 4
- 45
- 54

- 349
- 2
- 8
You could check if the Python executable is located in the user's home directory. The location of the home directory is retrieved by using the os.path.expanduser()
method. The location of the Python interpreter is retrieved by using the sys.executable()
method.
The following function returns True
if the Python interpreter was installed within the user's home directory, and False
otherwise. It works under Linux, and should work under macOS and Windows (but I didn't test those).
import sys
import os
def user_python():
try:
return sys.executable.startswith(os.path.expanduser("~"))
except AttributeError:
return False
The exception is needed because according to the documentation of sys.executable()
, it may return None
under some circumstances.
EDIT 2018-12-08: it works on Windows 10.