简介
我正在尝试使用 'nmake'
调用需要从 VS 开发人员命令提示符内部运行的命令( Subprocess.Popen
)在 python 中。
为它设置路径对我的情况不起作用。
我试着阅读 docs并且似乎没有其他方法可以使用默认 CMD.exe 以外的其他内容。
我的代码
import subprocess
command = ['nmake']
with subprocess.Popen(["nmake"],
executable=r"C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\VsMSBuildCmd.bat",
stdout=subprocess.PIPE, stderr=subprocess.PIPE,
universal_newlines=True) as process:
print(process.stdout.readlines())
print(process.stderr.readlines())
异常(exception) 它目前抛出
'nmake' is not recognized as an internal or external command
所以它实际上并没有使用那里提供的可执行文件。备注
使用的系统:Windows 10,python3.8
最佳答案
这可能发生在处理路径文件名中的引号的情况下。您可以尝试的几件事:
popen
参数添加 shell=True
这会导致子进程产生一个中间 shell 进程,并告诉它运行命令 executable = [r"C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\VsMSBuildCmd.bat"]
关于python - 以编程方式调用 VS 开发人员命令提示符中的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65902953/