我已经安装了qpdf,并试图通过Python调用它。
我已将路径添加到系统环境变量,并且可以通过命令提示符成功运行以下命令:
qpdf --decrypt input.pdf output.pdf
运行,没有问题。
但是,当尝试通过Python(来自here的代码)进行调用时,我得到了
'qpdf'不被识别为内部或外部命令, 可操作的程序或批处理文件。
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中运行它?
答案 0 :(得分:1)
根据评论:
问题在于仅在启动可执行文件/ shell会话/任何东西时才加载环境变量。在这里,目录已添加到PATH
环境变量中,因此需要重新启动sublime文本才能看到更新后的PATH
。这不是特定于升华的,如果直接从终端或另一个IDE运行,也是如此。