python - 如何在 python3 代码中找到 python2 路径?

标签 python python-3.x windows python-2.7

我在我的机器上同时使用 python 2 和 python 3。我利用 python 脚本顶部的 she-bang 符号,并使用 python 3 附带的新 python 启动器。

我想从 Windows 上运行的 python 3 脚本中找到 python.exe 的 python 2 路径。

sys.executable 和类似的命令将不起作用,因为它显示当前正在运行的 python 的路径。它不会显示另一个版本的 python 的路径。

最佳答案

下面这个怎么样?它利用新的启动器来执行 python2,并为其提供一行代码来打印 sys.executable,因此是 python2 解释器在运行它。

import subprocess

print(str(subprocess.run(['py', '-2', '-c', 'import sys;print(sys.executable)'],
               stdout=subprocess.PIPE).stdout, 'utf-8'))

输出:

$ python -V
Python 3.6.5

$ python get_two.py
C:\Python27\python.exe

关于python - 如何在 python3 代码中找到 python2 路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53676269/

相关文章:

java - 如何在 Windows 上使用 Ubuntu 中的 Windows JDK 构建我的 Gradle 项目?

python - 读取文件并跟踪 "friends"的代码

python - [ :] mean in the context of "for nm in namesList[:]:" 是什么意思

Python 网络时间戳(SO_TIMESTAMP、SO_TIMESTAMPNS、SO_TIMESTAMPING)

python-3.x - 如何使用 Visual Studio Code 在 vi​​rtualenv 中执行 python 命令

Python - 使用 open() 除了 (FileNotFoundError)?

python - 函数类型 : y =10^((a-x)/10*b) 的曲线拟合

python - 无法安装 libpq-dev

python - Windows 中的延迟加载

windows - 使用未记录的 CallNtPowerInformation(GetPowerRequestList..) 枚举 Windows "Power Availability Requests"