如何从当前执行的 Python 脚本中找到当前运行的 Python 解释器的完整路径?
os.environ
:
import os
python_executable_path = os.environ['_']
例如
$ python -c "import os; print(os.environ['_'])"
/usr/bin/python
有几种替代方法可以确定 Linux 中当前使用的 python 是:
which python
命令。command -v python
命令type python
命令类似地,在 Windows 上使用 Cygwin 也会得到相同的结果。
kuvivek@HOSTNAME ~
$ which python
/usr/bin/python
kuvivek@HOSTNAME ~
$ whereis python
python: /usr/bin/python /usr/bin/python3.4 /usr/lib/python2.7 /usr/lib/python3.4 /usr/include/python2.7 /usr/include/python3.4m /usr/share/man/man1/python.1.gz
kuvivek@HOSTNAME ~
$ which python3
/usr/bin/python3
kuvivek@HOSTNAME ~
$ command -v python
/usr/bin/python
kuvivek@HOSTNAME ~
$ type python
python is hashed (/usr/bin/python)
如果您已经在 python shell 中。尝试其中任何一个。 注意:这是另一种方法。这不是最好的Python方式。
>>> import os
>>> os.popen('which python').read()
'/usr/bin/python\n'
>>>
>>> os.popen('type python').read()
'python is /usr/bin/python\n'
>>>
>>> os.popen('command -v python').read()
'/usr/bin/python\n'
>>>
>>>
如果您不确定 python 命令的实际路径并且在您的系统中可用,请使用以下命令。
pi@osboxes:~ $ which python
/usr/bin/python
pi@osboxes:~ $ readlink -f $(which python)
/usr/bin/python2.7
pi@osboxes:~ $
pi@osboxes:~ $ which python3
/usr/bin/python3
pi@osboxes:~ $
pi@osboxes:~ $ readlink -f $(which python3)
/usr/bin/python3.7
pi@osboxes:~ $