sh: convert: 在 spyder 上找不到命令

sh: convert: command not found on spyder

我正在研究 spyder(python 2.7),我得到了这个 (My code)。你能解释一下问题是什么吗?

谢谢!


哦抱歉,这是代码

import numpy as np
import pylab as plt
import os

g = 10
v_o = 10
alph = np.pi/4
N_fram = 20
t_i = 0
t_f = 1.4
t_pas = (t_f - t_i)/N_fram
X_min, X_max, Y_min, Y_max = 0, 12, 0, 3

for n in range(N_fram):
    t = t_i + n*t_pas
    y = -(1/2)*g*t**2 + v_o*np.sin(alph)*t
    x = v_o*np.cos(alph)*t
    plt.plot(x, y, 'o', color = 'b')
    if n == (N_fram-1):
        plt.text(6, 2, "Boom !", fontsize=20)
    plt.axis([X_min, X_max, Y_min, Y_max])
    filename = 'fichierTemp'+str('%02d' %n)+'.pdf'
    plt.savefig(filename)
    print('Nplot=', n)
    plt.clf()

cmd = 'convert -delay 50 -loop 0 fichierTemp*.pdf TrajectoireBoulet.gif'
os.system(cmd)
os.system('rm fichierTemp*.pdf')
print("C'est fini !")

这是一个 gif(TrajectoireBoulet.gif) but on my Mac, it's just a photo group(this)

并且,当我在终端中写入 "convert" 时,我得到:

Copyright: © 1999-2020 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI 
Delegates (built-in): bzlib cairo fftw fontconfig freetype gvc jbig jng 
jp2 jpeg lzma pangocairo png rsvg tiff webp xml zlib
Usage: convert [options ...] file [ [options ...] file ...] [options...] file

尝试包含 convert 的完整路径,例如/usr/local/bin/convert ...

您可以在终端中通过 运行 找到它:

type convert

此外,PDF 不是您动画的单个帧的最佳选择,因为 ImageMagick 需要外部 Ghostscript 程序才能读取它们,所以我建议您使用PNG个文件作为中间格式如下:

#!/usr/bin/env python3

import numpy as np
import pylab as plt
import os

g = 10
v_o = 10
alph = np.pi/4
N_fram = 20
t_i = 0
t_f = 1.4
t_pas = (t_f - t_i)/N_fram
X_min, X_max, Y_min, Y_max = 0, 12, 0, 3

for n in range(N_fram):
    t = t_i + n*t_pas
    y = -(1/2)*g*t**2 + v_o*np.sin(alph)*t
    x = v_o*np.cos(alph)*t
    plt.plot(x, y, 'o', color = 'b')
    if n == (N_fram-1):
        plt.text(6, 2, "Boom !", fontsize=20)
    plt.axis([X_min, X_max, Y_min, Y_max])
    filename = 'fichierTemp'+str('%02d' %n)+'.png'
    plt.savefig(filename)
    print('Nplot=', n)
    plt.clf()

cmd = '/full/path/to/convert -delay 50 -loop 0 fichierTemp*.png TrajectoireBoulet.gif'
os.system(cmd)
#os.system('rm fichierTemp*.pdf')
print("C'est fini !")