sh: convert: команда не найдена в spyder - PullRequest
1 голос
/ 08 февраля 2020

Я работал над spyder (python 2.7), и я получил это ( Мой код ). Можете ли вы объяснить, в чем проблема?

Спасибо!


Извините, вот код

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 ), но на моем Ма c, это просто группа фотографий ( это )

И когда я пишу "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

1 Ответ

2 голосов
/ 09 февраля 2020

Попробуйте включить полный путь к 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 !")

enter image description here

...