我弄明白了:原来windows在PATH中有自己的convert.exe程序。在
以下代码打印b'C:\\Windows\\System32\\convert.exe\r\n':try:
print(subprocess.check_output(["where",'convert'],stderr=subprocess.STDOUT,shell=True))
except CalledProcessError as e:
print(e)
print(e.output)
在终端中运行相同的代码会显示imagemagick的convert阴影窗口convert:
^{pr2}$
一。在
在安装ImageMagick之后,我没有重新启动python,因此它的PATH仍然指向Windows版本。在
使用完整路径有效:try:
cmd= ['C:\Program Files\ImageMagick-6.8.3-Q16\convert','-size','30x40','xc:white','-fill','white','-fill','black','-font','fonts\Helvetica Regular.ttf','-pointsize','40','-gravity','South','-draw',"text 0,0 'P'",'draw_text.gif']
print(str.join(' ', cmd))
print('stdout: {}'.format(subprocess.check_output(cmd,shell=True,stderr=subprocess.STDOUT)))
except CalledProcessError as e:
print(e)
print(e.output)