代码之家  ›  专栏  ›  技术社区  ›  BruceWayne

python无法识别命令,但cmd可以

  •  3
  • BruceWayne  · 技术社区  · 8 年前

    我已经安装了 qpdf 我试着用蟒蛇来称呼它。

    我已将路径添加到系统环境变量中,并可以通过命令提示符成功运行以下命令:

    qpdf --decrypt input.pdf output.pdf
    

    这是正常的,没有问题。

    但是,当尝试通过python调用时(代码来自 here )我知道

    “qpf”未被识别为内部或外部命令, 可操作程序或批处理文件。

    import subprocess
    subprocess.call(["cmd", "/c", "qpdf --decrypt input.pdf output.pdf"], shell=True)
    # or 
    subprocess.run(["qpdf", "--decrypt", "input.pdf", "output.pdf"], shell=True)
    # or
    subprocess.run(["qpdf --decrypt input.pdf output.pdf"], shell=True)
    

    为什么我可以通过cmd运行这个,但不能在python中运行?

    1 回复  |  直到 8 年前
        1
  •  1
  •   JMAA    8 年前

    根据意见:

    问题是,只有在启动可执行/shell会话/whatever时才加载环境变量。在这里,一个目录被添加到 PATH 环境变量,因此需要重新启动崇高的文本才能看到更新的 路径 . 这并不特定于Sublime,如果您直接从一个终端或另一个IDE运行,情况也是如此。