我已经安装了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中运行?
最佳答案
根据评论:
问题是,只有在启动可执行文件/shell会话/whatever时才会加载环境变量。在这里,一个目录被添加到PATH
环境变量中,因此需要重新启动sublime text,才能看到更新的PATH
。这并不是sublime所特有的,如果直接从终端或另一个IDE运行也是如此。