如何从当前执行的Python脚本中找到当前运行的Python解释器的完整路径?
ttcibm8c1#
sys.executable包含当前运行的Python解释器的完整路径。
sys.executable
import sys print(sys.executable)
现在是documented here
z9gpfhce2#
注意另一种使用os.environ的方法,其实用性值得怀疑:
os.environ
import os python_executable_path = os.environ['_']
例如:
$ python -c "import os; print(os.environ['_'])" /usr/bin/python
svmlkihl3#
有几种替代方法可以确定Linux中当前使用的python是:
which python
command -v python
type python
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:~ $
3条答案
按热度按时间ttcibm8c1#
sys.executable
包含当前运行的Python解释器的完整路径。现在是documented here
z9gpfhce2#
注意另一种使用
os.environ
的方法,其实用性值得怀疑:例如:
svmlkihl3#
有几种替代方法可以确定Linux中当前使用的python是:
which python
命令。command -v python
命令type python
命令同样在Windows上与Cygwin也将导致相同的结果。
如果您已经在python shell中,请尝试以下任一方法。注意:这是另一种方法不是最好的Python方法。
如果您不确定python命令的实际路径,并且系统中有该路径,请使用以下命令。