无法从 Cmake 运行某些 python 命令

问题描述 投票:0回答:1

我有以下Python代码

    cmd = [
        "cmd.exe", "/c",
        "C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Auxiliary/Build/vcvarsx86_amd64.bat", 
        "^&^&", "set", "PATH", ">", temp_file_path
    ]
    print(cmd)
    result = subprocess.run(cmd, capture_output=True)
    if result.returncode != 0:
        print(f"Error running vcvarsx86_amd64: {result.stderr.decode('utf-8')}")
        sys.exit(1)

如果我从控制台运行这个 python 脚本,一切都会正常工作。

但是如果我使用以下命令从 cmake 内部运行它:

execute_process(
    COMMAND ${PYTHON_CMD} script.py
        --input_file ${INPUT_FILE}.dll
        --output_file ${OUTPUT_FILE}.dll
    RESULT_VARIABLE result
    )

我收到以下错误:

   ['cmd.exe', '/c', 'C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Auxiliary/Build/vcvarsx86_amd64.bat', '^&^&', 'set', 'PATH', '>', 'C:\\Users\\MYKOLA~1.GER\\AppData\\Local\\Temp\\tmpio00uuoh']
   Error running vcvarsx86_amd64: The input line is too long.
   The syntax of the command is incorrect.
python windows cmake
1个回答
0
投票

我知道问题出在哪里了。已印刷:

print(cmd) # The input line is too long.
result = subprocess.run(cmd, capture_output=True)
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.