I want to find out my Python installation path on Windows. For example:
C:Python25
How can I find where Python is installed?
Stevoisiak
22.1k27 gold badges119 silver badges216 bronze badges
asked Mar 15, 2009 at 9:09
Fang-Pen LinFang-Pen Lin
12.8k15 gold badges66 silver badges94 bronze badges
1
In your Python interpreter, type the following commands:
>>> import os
>>> import 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))"
answered Mar 15, 2009 at 13:17
13
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 :
answered Apr 17, 2017 at 16:04
Aekansh KansalAekansh Kansal
2,5591 gold badge14 silver badges17 bronze badges
3
It would be either of
- C:Python36
- C:Users(Your logged in User)AppDataLocalProgramsPythonPython36
answered Aug 18, 2017 at 9:52
Amol ManthalkarAmol Manthalkar
1,7901 gold badge15 silver badges16 bronze badges
5
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:
HKLMSOFTWAREPythonPythonCoreversionnumberInstallPath
HKCUSOFTWAREPythonPythonCoreversionnumberInstallPath
In 64-bit Windows, it will be under the Wow6432Node
key:
HKLMSOFTWAREWow6432NodePythonPythonCoreversionnumberInstallPath
yincrash
6,2351 gold badge39 silver badges40 bronze badges
answered Mar 15, 2009 at 21:08
codeapecodeape
96.4k24 gold badges155 silver badges183 bronze badges
8
Simple way is
- open CMD
- type
where python
in cmd
answered Jan 30, 2020 at 14:13
BigData-GuruBigData-Guru
1,0811 gold badge14 silver badges20 bronze badges
0
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.)
answered Mar 15, 2009 at 10:18
gimelgimel
81.7k10 gold badges75 silver badges104 bronze badges
2
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:UserscscottAppDataLocalProgramsPythonPython38-32python.exe *
-2.7-64 C:Python27python.exe
The * indicates the currently active version for scripts executed using the py
command.
answered Dec 9, 2019 at 20:48
carlin.scottcarlin.scott
5,5983 gold badges27 silver badges34 bronze badges
1
Its generally
‘C:Usersuser-nameAppDataLocalProgramsPythonPython-version’
or
try using (in cmd )
where python
answered Apr 12, 2020 at 18:45
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))
answered Mar 15, 2009 at 9:41
Guðmundur HGuðmundur H
11.1k3 gold badges23 silver badges22 bronze badges
2
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 …
answered Oct 18, 2018 at 7:30
1
To know where Python is installed you can execute where python
in your cmd.exe.
anothernode
4,86311 gold badges42 silver badges60 bronze badges
answered Jul 27, 2018 at 6:21
4
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%AppDataLocalProgramsPythonPython_version»
the ‘AppData‘ folder may be hidden, make it visible from the view section of toolbar.
answered Sep 14, 2018 at 9:19
Amit GuptaAmit Gupta
2,6024 gold badges24 silver badges37 bronze badges
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:Windowspy.exe
if installed for all users, otherwise can be found at C:UsersusernameAppDataLocalProgramsPythonLauncher
.
It does not require the environment PATH
variable to be set if installed for all users.
answered Apr 25, 2022 at 2:23
oyeyipooyeyipo
3193 silver badges11 bronze badges
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(@"PythonPythonCore");
if (pythonCoreKey == null)
pythonCoreKey = key.OpenSubKey(@"Wow6432NodePythonPythonCore");
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");
}
answered Apr 5, 2017 at 11:10
PeterPeter
36.4k38 gold badges141 silver badges196 bronze badges
2
This worked for me: C:UsersYour_user_nameAppDataLocalProgramsPython
My currently installed python version
is 3.7.0
Hope this helps!
David
1,1625 gold badges13 silver badges29 bronze badges
answered Jul 16, 2018 at 6:55
Go to C:UsersUSERAppDataLocalProgramsPythonPython36
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)
answered Mar 1, 2019 at 11:34
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:UsersusernameAppDataLocalProgramsPythonPython310
Very handy if you use python pip to install packages.
Suraj Rao
29.3k11 gold badges96 silver badges103 bronze badges
answered Dec 31, 2021 at 14:35
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…
venvscriptsactivate.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
.
answered Jan 26, 2022 at 15:55
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:UsersakshayAppDataLocalProgramsPythonPython36
Kos
4,7809 gold badges38 silver badges41 bronze badges
answered Jun 2, 2018 at 16:48
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 FilesPython37python.exe
answered Feb 3, 2019 at 16:39
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.
answered Jun 6, 2019 at 10:01
PV8PV8
5,4075 gold badges41 silver badges76 bronze badges
Option 1 : Check System Environment Variables > Path
Option 2 : C:UsersAsusAppDataLocalProgramsPython (By default Path)
answered Oct 1, 2022 at 10:09
I want to find out my Python installation path on Windows. For example:
C:Python25
How can I find where Python is installed?
Stevoisiak
22.1k27 gold badges119 silver badges216 bronze badges
asked Mar 15, 2009 at 9:09
Fang-Pen LinFang-Pen Lin
12.8k15 gold badges66 silver badges94 bronze badges
1
In your Python interpreter, type the following commands:
>>> import os
>>> import 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))"
answered Mar 15, 2009 at 13:17
13
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 :
answered Apr 17, 2017 at 16:04
Aekansh KansalAekansh Kansal
2,5591 gold badge14 silver badges17 bronze badges
3
It would be either of
- C:Python36
- C:Users(Your logged in User)AppDataLocalProgramsPythonPython36
answered Aug 18, 2017 at 9:52
Amol ManthalkarAmol Manthalkar
1,7901 gold badge15 silver badges16 bronze badges
5
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:
HKLMSOFTWAREPythonPythonCoreversionnumberInstallPath
HKCUSOFTWAREPythonPythonCoreversionnumberInstallPath
In 64-bit Windows, it will be under the Wow6432Node
key:
HKLMSOFTWAREWow6432NodePythonPythonCoreversionnumberInstallPath
yincrash
6,2351 gold badge39 silver badges40 bronze badges
answered Mar 15, 2009 at 21:08
codeapecodeape
96.4k24 gold badges155 silver badges183 bronze badges
8
Simple way is
- open CMD
- type
where python
in cmd
answered Jan 30, 2020 at 14:13
BigData-GuruBigData-Guru
1,0811 gold badge14 silver badges20 bronze badges
0
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.)
answered Mar 15, 2009 at 10:18
gimelgimel
81.7k10 gold badges75 silver badges104 bronze badges
2
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:UserscscottAppDataLocalProgramsPythonPython38-32python.exe *
-2.7-64 C:Python27python.exe
The * indicates the currently active version for scripts executed using the py
command.
answered Dec 9, 2019 at 20:48
carlin.scottcarlin.scott
5,5983 gold badges27 silver badges34 bronze badges
1
Its generally
‘C:Usersuser-nameAppDataLocalProgramsPythonPython-version’
or
try using (in cmd )
where python
answered Apr 12, 2020 at 18:45
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))
answered Mar 15, 2009 at 9:41
Guðmundur HGuðmundur H
11.1k3 gold badges23 silver badges22 bronze badges
2
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 …
answered Oct 18, 2018 at 7:30
1
To know where Python is installed you can execute where python
in your cmd.exe.
anothernode
4,86311 gold badges42 silver badges60 bronze badges
answered Jul 27, 2018 at 6:21
4
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%AppDataLocalProgramsPythonPython_version»
the ‘AppData‘ folder may be hidden, make it visible from the view section of toolbar.
answered Sep 14, 2018 at 9:19
Amit GuptaAmit Gupta
2,6024 gold badges24 silver badges37 bronze badges
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:Windowspy.exe
if installed for all users, otherwise can be found at C:UsersusernameAppDataLocalProgramsPythonLauncher
.
It does not require the environment PATH
variable to be set if installed for all users.
answered Apr 25, 2022 at 2:23
oyeyipooyeyipo
3193 silver badges11 bronze badges
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(@"PythonPythonCore");
if (pythonCoreKey == null)
pythonCoreKey = key.OpenSubKey(@"Wow6432NodePythonPythonCore");
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");
}
answered Apr 5, 2017 at 11:10
PeterPeter
36.4k38 gold badges141 silver badges196 bronze badges
2
This worked for me: C:UsersYour_user_nameAppDataLocalProgramsPython
My currently installed python version
is 3.7.0
Hope this helps!
David
1,1625 gold badges13 silver badges29 bronze badges
answered Jul 16, 2018 at 6:55
Go to C:UsersUSERAppDataLocalProgramsPythonPython36
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)
answered Mar 1, 2019 at 11:34
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:UsersusernameAppDataLocalProgramsPythonPython310
Very handy if you use python pip to install packages.
Suraj Rao
29.3k11 gold badges96 silver badges103 bronze badges
answered Dec 31, 2021 at 14:35
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…
venvscriptsactivate.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
.
answered Jan 26, 2022 at 15:55
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:UsersakshayAppDataLocalProgramsPythonPython36
Kos
4,7809 gold badges38 silver badges41 bronze badges
answered Jun 2, 2018 at 16:48
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 FilesPython37python.exe
answered Feb 3, 2019 at 16:39
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.
answered Jun 6, 2019 at 10:01
PV8PV8
5,4075 gold badges41 silver badges76 bronze badges
Option 1 : Check System Environment Variables > Path
Option 2 : C:UsersAsusAppDataLocalProgramsPython (By default Path)
answered Oct 1, 2022 at 10:09
I want to find out my Python installation path on Windows. For example:
C:Python25
How can I find where Python is installed?
Stevoisiak
22.1k27 gold badges119 silver badges216 bronze badges
asked Mar 15, 2009 at 9:09
Fang-Pen LinFang-Pen Lin
12.8k15 gold badges66 silver badges94 bronze badges
1
In your Python interpreter, type the following commands:
>>> import os
>>> import 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))"
answered Mar 15, 2009 at 13:17
13
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 :
answered Apr 17, 2017 at 16:04
Aekansh KansalAekansh Kansal
2,5591 gold badge14 silver badges17 bronze badges
3
It would be either of
- C:Python36
- C:Users(Your logged in User)AppDataLocalProgramsPythonPython36
answered Aug 18, 2017 at 9:52
Amol ManthalkarAmol Manthalkar
1,7901 gold badge15 silver badges16 bronze badges
5
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:
HKLMSOFTWAREPythonPythonCoreversionnumberInstallPath
HKCUSOFTWAREPythonPythonCoreversionnumberInstallPath
In 64-bit Windows, it will be under the Wow6432Node
key:
HKLMSOFTWAREWow6432NodePythonPythonCoreversionnumberInstallPath
yincrash
6,2351 gold badge39 silver badges40 bronze badges
answered Mar 15, 2009 at 21:08
codeapecodeape
96.4k24 gold badges155 silver badges183 bronze badges
8
Simple way is
- open CMD
- type
where python
in cmd
answered Jan 30, 2020 at 14:13
BigData-GuruBigData-Guru
1,0811 gold badge14 silver badges20 bronze badges
0
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.)
answered Mar 15, 2009 at 10:18
gimelgimel
81.7k10 gold badges75 silver badges104 bronze badges
2
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:UserscscottAppDataLocalProgramsPythonPython38-32python.exe *
-2.7-64 C:Python27python.exe
The * indicates the currently active version for scripts executed using the py
command.
answered Dec 9, 2019 at 20:48
carlin.scottcarlin.scott
5,5983 gold badges27 silver badges34 bronze badges
1
Its generally
‘C:Usersuser-nameAppDataLocalProgramsPythonPython-version’
or
try using (in cmd )
where python
answered Apr 12, 2020 at 18:45
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))
answered Mar 15, 2009 at 9:41
Guðmundur HGuðmundur H
11.1k3 gold badges23 silver badges22 bronze badges
2
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 …
answered Oct 18, 2018 at 7:30
1
To know where Python is installed you can execute where python
in your cmd.exe.
anothernode
4,86311 gold badges42 silver badges60 bronze badges
answered Jul 27, 2018 at 6:21
4
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%AppDataLocalProgramsPythonPython_version»
the ‘AppData‘ folder may be hidden, make it visible from the view section of toolbar.
answered Sep 14, 2018 at 9:19
Amit GuptaAmit Gupta
2,6024 gold badges24 silver badges37 bronze badges
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:Windowspy.exe
if installed for all users, otherwise can be found at C:UsersusernameAppDataLocalProgramsPythonLauncher
.
It does not require the environment PATH
variable to be set if installed for all users.
answered Apr 25, 2022 at 2:23
oyeyipooyeyipo
3193 silver badges11 bronze badges
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(@"PythonPythonCore");
if (pythonCoreKey == null)
pythonCoreKey = key.OpenSubKey(@"Wow6432NodePythonPythonCore");
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");
}
answered Apr 5, 2017 at 11:10
PeterPeter
36.4k38 gold badges141 silver badges196 bronze badges
2
This worked for me: C:UsersYour_user_nameAppDataLocalProgramsPython
My currently installed python version
is 3.7.0
Hope this helps!
David
1,1625 gold badges13 silver badges29 bronze badges
answered Jul 16, 2018 at 6:55
Go to C:UsersUSERAppDataLocalProgramsPythonPython36
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)
answered Mar 1, 2019 at 11:34
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:UsersusernameAppDataLocalProgramsPythonPython310
Very handy if you use python pip to install packages.
Suraj Rao
29.3k11 gold badges96 silver badges103 bronze badges
answered Dec 31, 2021 at 14:35
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…
venvscriptsactivate.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
.
answered Jan 26, 2022 at 15:55
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:UsersakshayAppDataLocalProgramsPythonPython36
Kos
4,7809 gold badges38 silver badges41 bronze badges
answered Jun 2, 2018 at 16:48
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 FilesPython37python.exe
answered Feb 3, 2019 at 16:39
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.
answered Jun 6, 2019 at 10:01
PV8PV8
5,4075 gold badges41 silver badges76 bronze badges
Option 1 : Check System Environment Variables > Path
Option 2 : C:UsersAsusAppDataLocalProgramsPython (By default Path)
answered Oct 1, 2022 at 10:09
Добрый день, есть Linux Mint, поставил PyCharm, написал программу. Запускаю из PyCharm — работает.
Запускаю через командную строку python3 test.py — выдает ошибку, не может найти библиотеки.
Как я понимаю есть несколько интерпретаторовокружений.
Как бы мне выяснить с какими параметрами я запускаю в PyCharm и также запустить в командной строке?
-
Вопрос заданболее трёх лет назад
-
47904 просмотра
Пригласить эксперта
попробуйте команду which он укажет где находится исполняемый файл.
Пример:which python3
Ответ: будет примерно/usr/bin/python3
в Window 10 путь к интерпретатору python по-умолчанию можно узнать через команду where python
#держувкурсе
Если создавали проект через PyCharm — то по умолчанию используется venv в папке с проектом.
Чтобы активировать venv из терминала — выполните команду source venv/bin/activate
, находясь при этом в папке с проектом
В PyCharm есть встроенный терминал, вызывается по сочетанию клавиш Alt + F12. В нем venv уже активирован.
В каталоге доустановить библиотеки «в ручную», набрав в консоли: pip install название_библиотеки
-
Показать ещё
Загружается…
07 февр. 2023, в 06:08
1500 руб./в час
07 февр. 2023, в 04:28
1000 руб./за проект
07 февр. 2023, в 01:29
40000 руб./за проект
Минуточку внимания
Перейдите в каталог C: UsersPattisAppDataLocalProgramsPythonPython39 (или в любой каталог, в котором был установлен Python: см. Всплывающее окно для шага установки 1). Дважды щелкните значок / файл python.exe. Появится следующее всплывающее окно.
Перейдите в меню «Пуск» (значок Windows в нижнем левом углу), введите «Microsoft Store», выберите ссылку, чтобы открыть магазин. Когда магазин откроется, выберите «Поиск» в правом верхнем меню и введите «Python». Выберите, какую версию Python вы хотите использовать, из результатов в разделе «Приложения».
Где установлена моя папка Python?
Нажмите Пуск в нижнем левом углу дисплея; нажмите Поиск; в окне поиска нажмите все файлы и папки; в появившейся верхней текстовой строке введите python.exe; нажмите кнопку поиска. Через несколько минут будет указана папка, в которой установлен Python. — это имя папки — это путь к Python.
Как узнать, установлен ли Python?
2 ответы
- Откройте командную строку> введите Python или py> нажмите Enter. Если Python установлен, отобразятся сведения о версии, в противном случае откроется Microsoft Store для загрузки из Microsoft Store.
- Просто войдите в cmd и введите где python, если он установлен, откроет приглашение.
Python установлен в Windows?
В отличие от большинства систем и сервисов Unix, Windows не включает установку Python, поддерживаемую системой. Чтобы сделать Python доступным, команда CPython скомпилировала установщики Windows (пакеты MSI) для каждого выпуска в течение многих лет. … Для этого требуется Windows 10, но его можно безопасно установить, не повреждая другие программы.
Почему Python не распознается в CMD?
Ошибка «Python не распознается как внутренняя или внешняя команда» обнаружена в командной строке Windows. Ошибка возникает, когда исполняемый файл Python не найден в переменной среды в результате выполнения Python в командной строке Windows.
Как обновить установленный Python?
xz (патч) версия Python, просто зайдите на страницу загрузок Python получите последнюю версию и начните установку. Поскольку на вашем компьютере уже установлен Python, установщик предложит вам «Обновить сейчас». Нажмите на эту кнопку, и она заменит существующую версию новой.
Как изменить версию Python по умолчанию в Windows?
Установите предпочитаемую версию по умолчанию с помощью установка переменной окружения PY_PYTHON (например, PY_PYTHON = 3.7). Вы можете узнать, какая версия python используется по умолчанию, набрав py. Вы также можете установить PY_PYTHON3 или PY_PYTHON2, чтобы указать версии Python 3 и Python 2 по умолчанию (если у вас их несколько).
Как мне скачать и использовать Python?
Установка
- Дважды щелкните значок файла python-3.9. 6-amd64.exe. Python 3.9. …
- Выделите сообщение «Установить сейчас» (или «Обновить сейчас») и щелкните его. При запуске на экране может появиться всплывающее окно «Контроль учетных записей». …
- Щелкните кнопку Да. Новый Python 3.9. …
- Нажмите кнопку Закрыть.
Могу ли я установить Python на диск D?
3 ответа. Да — однако вам нужно быть осторожным с переменной пути. Вы можете указать установщику автоматически добавлять python в переменную пути во время установки, при переустановке Windows вам придется установить его вручную.
Python представляет популярный высокоуровневый язык программирования, который предназначен для создания приложений различных типов. Это и веб-приложения, и игры, и настольные программы, и работа с базами данных. Довольно большое распространение питон получил в области машинного обучения и исследований искусственного интеллекта.
Впервые язык Python был анонсирован в 1991 году голландским разработчиком Гвидо Ван Россумом. С тех пор данный язык проделал большой путь развития. В 2000 году была издана версия 2.0, а в 2008 году — версия 3.0. Несмотря на вроде такие большие промежутки между версиями постоянно выходят подверсии. Так, текущей актуальной версией на момент написания данного материала является 3.7. Более подробную информацию о всех релизах, версиях и изменения языка, а также собственно интерпретаторы и необходимые утилиты для работы и прочую полезную информацию можно найти на официальном сайте https://www.python.org/.
Основные особенности языка программирования Python:
- Скриптовый язык. Код программ определяется в виде скриптов.
- Поддержка самых различных парадигм программирования, в том числе объектно-ориентированной и функциональной парадигм.
- Интерпретация программ. Для работы со скриптами необходим интерпретатор, который запускает и выполняет скрипт.Выполнение программы на Python выглядит следующим образом. Сначала мы пишим в текстовом редакторе скрипт с набором выражений на данном языке программирования. Передаем этот скрипт на выполнение интерпретатору. Интерпретатор транслирует код в промежуточный байткод, а затем виртуальная машина переводит полученный байткод в набор инструкций, которые выполняются операционной системой.Здесь стоит отметить, что хотя формально трансляция интерпретатором исходного кода в байткод и перевод байткода виртуальной машиной в набор машинных команд представляют два разных процесса, но фактически они объединены в самом интерпретаторе.
- Портативность и платформонезависимость. Не имеет значения, какая у нас операционная система — Windows, Mac OS, Linux, нам достаточно написать скрипт, который будет запускаться на всех этих ОС при наличии интерпретатора
- Автоматическое управление памяти
- Динамическая типизация
Python — очень простой язык программирования, он имеет лаконичный и в то же время довольно простой и понятный синтаксис. Соответственно его легко изучать, и собственно это одна из причин, по которой он является одним из самых популярных языков программирования именно для обучения. В частности, в 2014 году он был признан самым популярным языком программирования для обучения в США.
Python также популярен не только в сфере обучения, но в написании конкретных программ в том числе коммерческого характера. В немалой степени поэтому для этого языка написано множество библиотек, которые мы можем использовать.
Кроме того, у данного языка программирования очень большое коммьюнити, в интернете можно найти по данному языку множество полезных материалов, примеров, получить квалифицированную помощь специалистов.
Установка Python
Для создания программ на Python нам потребуется интерпретатор. Для его установки перейдем на сайт https://www.python.org/ и на главной станице в секции Downloads найдем ссылку на загрузку последней версии языка:
Перейдем по ссылке к странице с описанием последней версии языка. Ближе к низу на ней можно найти список дистрибутивов для разных операционных систем. Выберем нужный нам пакет и загрузим его. Например, в моем случае это ОС Windows 64-х разрядная, поэтому я выбираю ссылку на пакет Windows x86-64 executable installer. После загрузки дистрибутива установим его.
Соответственно для MacOS можно выбрать пункт macOS 64-bit installer.
На ОС Windows при запуске инсталлятора запускает окно мастера установки:
Здесь мы можем задать путь, по которому будет устанавливаться интерпретатор. Оставим его по умолчанию, то есть C:Users[имя_пользователя]AppDataLocalProgramsPythonPython36.
Кроме того, в самом низу отметим флажок «Add Python 3.6 to PATH», чтобы добавить путь к интерпретатору в переменные среды.
После установки в меню Пуск на ОС Windows мы сможем найти иконки для доступа к разным утилитам питона:
Здесь утилита Python 3.7 (64-bit) представляет интерпретатор, в котором мы можем запустить скрипт. В файловой системе сам файл интерпретатора можно найти по пути, по которому производилась установка. На Windows по умолчанию это путь C:Users[имя_пользователя]AppDataLocalProgramsPythonPython37, а сам интерпретатор представляет файл python.exe. На ОС Linux установка производится по пути /usr/local/bin/python3.7.
Первая программа на Python
После установки интерпретатора, как было описано в прошлой теме, мы можем начать создавать приложения на Python. Итак, создадим первую простенькую программу.
Как было сказано в прошлой теме, программа интерпретатора, если при установке не был изменен адрес, по умолчанию устанавливается на Linux по пути usr/local/bin/python37, а на Windows по пути C:Users[имя_пользователя]AppDataLocalProgramsPythonPython37 и представляет файл под названием python.exe.
Запустим интерпретатор и введем в него следующую строку:
print(«hello world»)
И консоль выведет строку «hello world»:
Для этой программы использовался метод print(), который выводит некоторую строку на консоль.
Создание файла программы
В реальности, как правило, программы определяются во внешних файлах-скриптах и затем передаются интерпретатору на выполнение. Поэтому создадим файл программы. Для этого на диске C или где-нибудь в другом месте файловой системы определим для скриптов папку python. А в этой папке создадим новый текстовый файл, который назовем hello.py. По умолчанию файлы с кодом на языке Python, как правило, имеют расширение py.
Откроем этот файл в любом текстовом редакторе и добавим в него следующий код:
name = input(«Введите имя: «)
print(«Привет,», name)
name = input(«Введите имя: «) print(«Привет,», name)
Скрипт состоит из двух строк. Первая строка с помощью метода input() ожидает ввода пользователем своего имени. Введенное имя затем попадает в переменную name.
Вторая строка с помощью метода print() выводит приветствие вместе с введенным именем.
Теперь запустим командную строку/терминал и с помощью команды cd перейдем к папке, где находится файл с исходным кодом hello.py (например, в моем случае это папка C:python). Далее вначале введем полный путь к интерпретатору, а затем полный путь к файлу скрипта:
К примеру, в моем случае в консоль надо будет вести:
C:UsersEugeneAppDataLocalProgramsPythonPython37python.exe
hello.py
Но если при установке была указана опция «Add Python 3.7 to PATH», то есть путь к интерпретатору Python был добавлен в переменные среды, то вместо полного пути к интерпретатору можно просто написать python:
python hello.py
Варианты с обоими способами запуска:
В итоге программа выведет приглашение к вводу имени, а затем приветствие.
PyCharm
В прошлой теме было описано создание простейшего скрипта на языке Python. Для создания скрипта использовался текстовый редактор. В моем случае это был Notepad++. Но есть и другой способ создания программ, который представляет использование различных интегрированных сред разработки или IDE.
IDE предоставляют нам текстовый редактор для набора кода, но в отличие от стандартных текстовых редакторов, IDE также обеспечивает полноценную подсветку синтаксиса, автодополнение или интеллектуальную подсказку кода, возможность тут же выполнить созданный скрипт, а также многое другое.
Для Python можно использовать различные среды разработки, но одной из самых популярных из них является среда PyCharm, созданная компанией JetBrains. Эта среда динамично развивается, постоянно обновляется и доступна для наиболее распространенных операционных систем — Windows, MacOS, Linux.
Правда, она имеет одно важное ограничение. А именно она доступна в двух основных вариантах: платный выпуск Professional и бесплатный Community. Многие базовые возможности доступны и в бесплатном выпуске Community. В то же время ряд возможностей, например, веб-разработка, доступны только в платном Professional.
В нашем случае воспользуемся бесплатным выпуском Community. Для этого перейдем на страницу загрузки и загрузим установочный файл PyCharm Community. После загрузки выполним его установку.
После завершения установки запустим программу. При первом запуске открывается начальное окно:
Создадим проект и для этого выберем пункт Create New Project.
Далее нам откроется окно для настройки проекта. В поле Location необходимо указать путь к проекту. В моем случае проект будет помещаться в папку HelloApp. Собственно название папки и будет названием проекта.
Следует отметить, что PyCharm позволяет разграничить настройки проектов. Так, по умолчанию выбрано поле New Environment Using, что позволяет установить версию интерпретатора для конкретного проекта. Затем все устанавливаемые дополнительные пакеты будут касаться только текущего проекта. Это удобно, если мы создаем несколько проектов, но каждый из которых рабоает с какой-то специфической версией интерпретатора. Но в качестве альтернативы мы также можем выбрать поле Existing Interpreter и задать путь к файлу интерпретатора глобально для всех проектов.
В реальности для первого простейшего приложения на PyCharm не имеет значения, как будет установлен интерпертатор. Однако данном же случае оставим выбранный по умолчанию флажок New Environment Using и под ним в поле Base Interpreter укажем путь к файлу интерпретатора, установка которого рассматривалась в первой теме.
И после установки всех путей нажмем на кнопку Create для создания проекта.
После этого будет создан пустой проект:
Теперь создадим простейшую программу. Для этого нажмем на название проекта правой кнопкой мыши и в появившемся контекстном меню выберем
New -> Python File.
Затем откроется окно, в котором надо будет указать название файла. Пусть файл называется hello:
В созданный файл введем следующие строки:
name = input(«Введите ваше имя: «)
print(«Привет,», name)
Для запуска скрипта нажмем на него правой кнопкой мыши и в контекстном меню выберем Run ‘hello’ (либо перейдем в меню Run и там нажмем на подпункт Run…):
После этого внизу IDE отобразится окно вывода, где надо будет ввести имя и где после этого будет выведено приветствие:
Python в Visual Studio
Одной из сред разработки, которая позволяет работать с Python, является Visual Studio. Преимуществом данной IDE по сравнению, скажем, с PyCharm, следует отметить прежде всего то, что в ее бесплатной редакции VS 2017 Community бесплатно доступны ряд функций и возможностей, которые в том же PyCharm доступны только в платной версии Professional Edition. Например, это веб-разработка, в том числе с помощью различных фреймворков. В то же время средства ля разработки на Python в Visual Studo доступны пока только в версии для Windows.
Итак, загрузим установочный файл Visual Studio 2017 Community по ссылке https://www.visualstudio.com/ru/thank-you-downloading-visual-studio/?sku=Community&rel=15. После запуска установочного файла выберем среди устанавливаемых опций Python:
После установки Visual Studio запустим ее. В меню выберем пунт File (Файл) -> New (Создать) -> Project (Проект), и перед нами откроется окно создания нового проекта. В этом окне в левом древовидном меню мы можем перейти к языку Python:
Выбрав слева Python, в центральной части окна мы можем увидеть богатую палитру типов проектов, которые мы можем создавать для разработке на данном языке программирования. Это и веб-разработка, и машинное обучение, и проекты для работы с облаком, проекты настольных приложений и т.д. В данном же случае выберем в качестве типа проекта Python Application, то есть тип простых консольных приложений, и назовем новый проект HelloApp. Нажмем на кнопку OK, и Visual Studio создаст новый проект:
Справа в окне Solution Explorer (Обозреватель решений) можно увидеть структуру проекта. По умолчанию здесь мы можем увидеть следующие элементы:
Python Environments: здесь можно увидеть все используемые среды, в частности, здесь можно найти сведения о компиляторе, который используется.
References: в этот узел помещаются все внешние зависимости, которые используются текущим проектом
Search Paths: этот узел позволяет указать пути поиска для модулей Python
HelloApp.py: собственно файл Python с исходным кодом
По умолчанию в Visual Studio уже открыт файл HelloApp.py, но он пока пуст. Добавим в него следующую строку:
print(«Hello Python from Visual Studio!»)
И затем в панели инструментов нажмем на зеленую стрелочку для запуска:
В результате запуска отобразится консоль, которая выведет нужную строку:
FAQ по Python в Windows
- Как запустить программу на Python под Windows?
- Как сделать скрипты Python исполняемыми?
- Почему Python иногда так долго запускается?
- Как сделать исполняемый файл из сценария Python?
*.pyd
— это то же самое, что и DLL?- Как встроить Python в приложение Windows?
- Как сделать так,чтобы редакторы не вставляли вкладки в исходный текст Python?
- Как проверить нажатие клавиши без блокировки?
- Как решить проблему отсутствия api-ms-win-crt-runtime-l1-1-0.dll?
Как запустить программу на Python под Windows?
Это не всегда простой вопрос.Если вы уже знакомы с запуском программ из командной строки Windows,то все покажется очевидным;в противном случае вам может понадобиться немного больше подсказок.
Если вы не используете какую-либо интегрированную среду разработки, вам придется вводить команды Windows в так называемое «окно командной строки». Обычно такое окно можно создать из панели поиска, выполнив поиск cmd
. Вы должны быть в состоянии распознать, когда вы открыли такое окно, потому что вы увидите «командную строку» Windows, которая обычно выглядит так:
C:>
Буква может быть другой,и после нее может быть что-то еще,так что вы можете увидеть что-то вроде:
D:YourNameProjectsPython>
в зависимости от того,как был настроен ваш компьютер и что еще вы недавно делали с ним.Как только вы запустили такое окно,вы уже на пути к запуску программ Python.
Вы должны понимать, что ваши сценарии Python должны обрабатываться другой программой, называемой интерпретатором Python . Интерпретатор читает ваш сценарий, компилирует его в байт-коды, а затем выполняет байт-коды для запуска вашей программы. Итак, как организовать интерпретатор для обработки вашего Python?
Во-первых, вам нужно убедиться, что ваше командное окно распознает слово «py» как инструкцию для запуска интерпретатора. Если вы открыли командное окно, попробуйте ввести команду py
и нажать клавишу возврата:
C:UsersYourName> py
Вы должны увидеть что-то вроде:
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>
Вы запустили интерпретатор в «интерактивном режиме».Это означает,что вы можете вводить утверждения или выражения Python в интерактивном режиме,и они будут выполняться или оцениваться,пока вы ждете.Это одна из самых сильных возможностей Python.Проверьте это,введя несколько выражений по своему выбору и посмотрев результаты:
>>> print("Hello") Hello >>> "Hello" * 3 'HelloHelloHello'
Многие используют интерактивный режим как удобный, но хорошо программируемый калькулятор. Если вы хотите завершить интерактивный сеанс Python, вызовите функцию exit()
или удерживайтеCtrlудерживайте клавишу нажатой во время вводаZ,затем нажмите кнопку «Enter«,чтобы вернуться в командную строку Windows.
Вы также можете обнаружить, что у вас есть запись в меню «Пуск», например «Пуск» «Программы» ‣ Python 3.x ‣ Python (командная строка), в результате чего вы видите приглашение >>>
в новом окне. В этом случае окно исчезнет после того, как вы вызовете функцию exit()
Ctrl-Zсимвол;Windows выполняет в окне единственную команду «python» и закрывает его при завершении работы интерпретатора.
Теперь, когда мы знаем, что команда py
распознана, вы можете передать ей свой скрипт Python. Вам нужно будет указать либо абсолютный, либо относительный путь к скрипту Python. Допустим, ваш скрипт Python находится на вашем рабочем столе и называется hello.py
, а ваша командная строка хорошо открыта в вашем домашнем каталоге, поэтому вы видите что-то похожее на:
C:UsersYourName>
Итак, теперь вы попросите команду py
передать ваш скрипт Python, набрав py
и путь к вашему скрипту:
C:UsersYourName> py Desktophello.py
hello
Как сделать скрипты Python исполняемыми?
В Windows стандартный установщик Python уже связывает расширение .py с типом файла (Python.File) и дает этому типу файла команду открытия, которая запускает интерпретатор ( D:Program FilesPythonpython.exe "%1" %*
). Этого достаточно, чтобы скрипты выполнялись из командной строки как «foo.py». Если вы предпочитаете выполнять скрипт, просто набрав «foo» без расширения, вам нужно добавить .py в переменную среды PATHEXT.
Почему Python иногда так долго запускается?
Обычно Python запускается очень быстро под Windows,но иногда появляются сообщения о том,что Python вдруг начинает долго запускаться.Это вызывает еще большее недоумение,поскольку Python прекрасно работает на других системах Windows,настроенных идентично.
Проблема может быть вызвана неправильной конфигурацией программного обеспечения для проверки вирусов на проблемной машине.Известно,что некоторые антивирусные сканеры вносят накладные расходы при запуске на два порядка,если сканер настроен на мониторинг всех чтений из файловой системы.Попробуйте проверить конфигурацию программного обеспечения для сканирования вирусов на ваших системах,чтобы убедиться,что они действительно настроены одинаково.McAfee,когда он настроен на сканирование всех операций чтения файловой системы,является особым нарушителем.
Как сделать исполняемый файл из сценария Python?
См. Как я могу создать автономный двоичный файл из скрипта Python? для списка инструментов, которые можно использовать для создания исполняемых файлов.
*.pyd
— это то же самое, что и DLL?
Да, файлы .pyd являются dll, но есть несколько отличий. Если у вас есть DLL с именем foo.pyd
, она должна иметь функцию PyInit_foo()
. Затем вы можете написать Python «import foo», и Python будет искать foo.pyd (а также foo.py, foo.pyc) и, если найдет, попытается вызвать PyInit_foo()
для его инициализации. Вы не связываете свой .exe с foo.lib, так как это приведет к тому, что Windows потребует присутствия DLL.
Обратите внимание, что путь поиска для foo.pyd — PYTHONPATH, а не путь, который Windows использует для поиска foo.dll. Кроме того, foo.pyd не обязательно должен присутствовать для запуска вашей программы, тогда как если вы связали свою программу с dll, dll требуется. Конечно, foo.pyd требуется, если вы хотите сказать import foo
. В DLL привязка объявляется в исходном коде с помощью __declspec(dllexport)
. В .pyd привязка определяется в списке доступных функций.
Как встроить Python в приложение Windows?
Встраивание интерпретатора Python в приложение Windows можно описать следующим образом:
-
Не встраивайте Python напрямую в свой .exe-файл. В Windows Python должен быть DLL для импорта модулей, которые сами являются DLL. (Это первый ключевой недокументированный факт.) Вместо этого ссылка на
pythonNN.dll
; обычно он устанавливается вC:WindowsSystem
. NN — это версия Python, число, такое как «33» для Python 3.3.Вы можете ссылаться на Python двумя разными способами. Связывание во время загрузки означает связывание с
pythonNN.lib
, а связывание во время выполнения означает связывание сpythonNN.dll
. (Общее примечание:pythonNN.lib
— это так называемая «импортная библиотека», соответствующаяpythonNN.dll
. Она просто определяет символы для компоновщика.)Связывание во время выполнения значительно упрощает параметры связывания; все происходит во время выполнения. Ваш код должен загрузить
pythonNN.dll
с помощью подпрограммы WindowsLoadLibraryEx()
.Код также должен использовать подпрограммы доступа и данные вpythonNN.dll
(то есть Python C API) с использованием указателей, полученных с помощью подпрограммы WindowsGetProcAddress()
.Макросы могут сделать использование этих указателей прозрачным для любого кода C, который вызывает подпрограммы в C API Python. - Если вы используете SWIG, легко создать «модуль расширения» Python, который сделает данные и методы приложения доступными для Python. SWIG позаботится обо всех мелких деталях за вас. В результате получается код C, который вы связываете с вашим .exe-файлом (!) Вам _не_ нужно создавать DLL-файл, и это также упрощает компоновку.
-
SWIG создаст функцию init (функцию на языке C),имя которой зависит от имени модуля расширения.Например,если имя модуля-leo,функция init будет называться initleo().Если вы используете теневые классы SWIG,как и должно быть,функция init будет называться initleoc().Это инициализирует скрытый вспомогательный класс,используемый теневым классом.
Причина,по которой вы можете подключить код на языке Си в шаге 2 к вашему .exe-файлу,заключается в том,что вызов функции инициализации эквивалентен импорту модуля в Python! (Это второй ключевой недокументированный факт).
-
Короче говоря,вы можете использовать следующий код для инициализации интерпретатора Python с вашим модулем расширения.
#include <Python.h> ... Py_Initialize(); initmyAppc(); PyRun_SimpleString("import myApp");
-
Есть две проблемы с C API Python,которые станут очевидными,если вы используете компилятор,отличный от MSVC,который использовался для сборки pythonNN.dll.
Проблема 1:Так называемые функции «очень высокого уровня»,принимающие аргументы FILE *,не будут работать в среде с несколькими компиляторами,поскольку понятие struct FILE в каждом компиляторе будет отличаться.С точки зрения реализации это функции очень _низкого_уровня.
Проблема 2:SWIG генерирует следующий код при создании оберток для функций void:
Py_INCREF(Py_None); _resultobj = Py_None; return _resultobj;
Увы,Py_None-это макрос,который расширяется до ссылки на сложную структуру данных под названием _Py_NoneStruct внутри pythonNN.dll.Опять же,этот код будет неудачным в среде с несколькими компиляторами.Замените этот код на:
return Py_BuildValue("");
Можно использовать команду SWIG
%typemap
для автоматического внесения изменений, хотя мне не удалось заставить ее работать (я полный новичок в SWIG). - Использование сценария оболочки Python для размещения окна интерпретатора Python внутри вашего приложения Windows-не самая лучшая идея;полученное окно будет независимым от оконной системы вашего приложения.Скорее,вы (или класс wxPythonWindow)должны создать «родное» окно интерпретатора.Это окно легко подключить к интерпретатору Python.Вы можете перенаправить ввод-вывод Python на _любой_объект,поддерживающий чтение и запись,поэтому все,что вам нужно,это объект Python (определенный в вашем модуле расширения),содержащий методы read()и write().
Как сделать так,чтобы редакторы не вставляли вкладки в исходный текст Python?
FAQ не рекомендует использовать вкладки, а руководство по стилю Python, PEP 8 , рекомендует 4 пробела для распространяемого кода Python; это также режим python по умолчанию в Emacs.
В любом редакторе смешивать табуляцию и пробелы-плохая идея.MSVC не отличается в этом отношении,и легко настраивается на использование пробелов:Возьмите Tools ‣ Options ‣ Tabs,и для типа файла «Default» установите «Tab size» и «Indent size» на 4,и выберите радиокнопку «Insert spaces».
Python вызывает IndentationError
или TabError
, если смешанные табуляции и пробелы вызывают проблемы с начальными пробелами. Вы также можете запустить модуль tabnanny
для проверки дерева каталогов в пакетном режиме.
Как проверить нажатие клавиши без блокировки?
Используйте модуль msvcrt
. Это стандартный модуль расширения для Windows. Он определяет функцию kbhit()
, которая проверяет наличие нажатия на клавиатуру, и getch()
, которая получает один символ, не повторяя его.
Как решить проблему отсутствия api-ms-win-crt-runtime-l1-1-0.dll?
Это может происходить в Python 3.5 и более поздних версиях при использовании Windows 8.1 или более ранних версий без установки всех обновлений. Сначала убедитесь, что ваша операционная система поддерживается и обновлена, а если это не решит проблему, посетите страницу поддержки Microsoft, чтобы получить инструкции по ручной установке обновления C Runtime.
Python
3.11
-
Как применить метод к последовательности объектов?
Используйте понимание списка: это из-за комбинации того факта, что расширенные операторы присваивания и различия между изменяемыми неизменяемыми объектами
-
Как перегрузить конструкторы (или методы)в Python?
Этот ответ на самом деле относится к методам, но вопрос обычно возникает в первую очередь в контексте конструкторов.
-
Glossary
Стандартная подсказка Python интерактивной оболочки.
-
Лучшие методы работы с аннотациями
Ларри Хастингс Аннотация Этот документ предназначен для инкапсуляции лучших практик работы с аннотациями dicts.
Установка специфичных каталогов и путей для программы.
Содержание:
- Специфичный для программы каталог Python
sys.prefix
, - Каталог установки Python
sys.base_prefix
, - Каталог для конкретной программы
sys.exec_prefix
, - Каталог базовой установки Python
sys.base_exec_prefix
, - Путь исполняемого файла интерпретатора Python
sys.executable
, - Имя каталога библиотеки для конкретной платформы
sys.platlibdir
.
sys.prefix
:
Атрибут sys.prefix
это строка, предоставляет специфичный для площадки префикс каталога, в котором установлены независимые от платформы файлы Python. По умолчанию, это строка ‘/usr/local’.
Значение sys.prefix
устанавливается во время сборки Python с помощью аргумента --prefix
для скрипта configure
, например $ ./configure --prefix=/opt/python-3.x.x/"
. Основная коллекция модулей библиотеки Python установлена в каталоге prefix/lib/pythonX.Y
, а независимые от платформы заголовочные файлы (все, кроме pyconfig.h
) хранятся в prefix/include/pythonX.Y
, где XY — номер версии Python, например 3.7.
Примечание. Если запущена виртуальная среда, это значение будет изменено в site.py
для указания на виртуальную среду. Значение для установки Python по-прежнему будет доступно через base_prefix
.
sys.base_prefix
:
Атрибут sys.base_prefix
устанавливается при запуске Python перед запуском site.py
то же значение, что и атрибут sys.prefix
. Если не работает в виртуальной среде, значения останутся прежними. Если site.py
обнаружит, что используется виртуальная среда, то значения sys.prefix
и sys.exec_prefix
будут изменены на значения установки виртуальной среды, тогда как sys.base_prefix
и sys.base_exec_prefix
останутся указывать на базовую установку Python (ту, из которой была создана виртуальная среда).
sys.exec_prefix
:
Атрибут sys.exec_prefix
это строка, задает префикс каталога для конкретной программы, где установлены зависящие от платформы файлы Python. По умолчанию это '/usr/local'
.
Значение sys.prefix
устанавливается во время сборки Python с помощью аргумента --exec-prefix
для скрипта configure
. В частности, все файлы конфигурации (например, заголовочный файл pyconfig.h
) установлены в каталоге exec_prefix/lib/pythonX.Y/config
, а модули разделяемой библиотеки установлены в exec_prefix/lib/pythonX.Y/lib-dynload
, где XY
номер версии Python, например 3.7.
Примечание. Если запущена виртуальная среда, то значение sys.exec_prefix
будет изменено в site.py
для указания на виртуальную среду. Значение базовой установки Python по-прежнему будет доступно через атрибут sys.base_exec_prefix
.
sys.base_exec_prefix
:
Атрибут sys.exec_prefix
устанавливает при запуске Python до запуска site.py
то же значение, что и sys.exec_prefix
. Если программа не работает в виртуальной среде, то значения останутся прежними. Если site.py
обнаружит, что используется виртуальная среда, то значения sys.prefix
и sys.exec_prefix
будут изменены на значения установки виртуальной среды, тогда как sys.base_prefix
и sys.base_exec_prefix
останутся указывать на базовую установку Python (ту, из которой была создана виртуальная среда).
sys.executable
:
Атрибут sys.executable
это строка, задающая абсолютный путь исполняемого двоичного файла для интерпретатора Python в системах, где это имеет смысл. Если Python не может получить реальный путь к своему исполняемому файлу, sys.executable
будет пустой строкой или None
.
sys.platlibdir
:
Атрибут sys.exec_prefix
это имя каталога библиотеки для конкретной платформы. Он используется для построения пути к стандартной библиотеке и путей установленных модулей расширения. (Новое в Python 3.9.)
На большинстве платформ он равен lib
. В Fedora и SuSE на 64-битных платформах он равен lib64
, что дает следующие пути sys.path
(где X.Y — версия Python major.minor
):
/usr/lib64/pythonX.Y/
: Стандартная библиотека (например,os.py
модуляos
),/usr/lib64/pythonX.Y/lib-dynload/
: модули расширения языкаC
стандартной библиотеки (например, модульerrno
, точное имя файла зависит от платформы),/usr/lib/pythonX.Y/site-packages/
(всегда используйтеlib
, а неsys.platlibdir
): сторонние модули,/usr/lib64/pythonX.Y/site-packages/
: модули расширения языкаC
сторонних пакетов.