j'essayais de créer une application avec Python en utilisant la bibliothèque Moviepy. Je l'ai installé en utilisant:
pip install moviepy
J'ai trouvé ceci d'un cours intensif de MoviePy:
# Import everything needed to edit video clips
from moviepy.editor import *
Après avoir essayé de lancer cette ligne, j'obtiens cette erreur:
Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:42:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> # Import everything needed to edit video clips
... from moviepy.editor import *
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
File "C:\Python27\lib\site-packages\moviepy\editor.py", line 22, in <module>
from .video.io.VideoFileClip import VideoFileClip
File "C:\Python27\lib\site-packages\moviepy\video\io\VideoFileClip.py", line 3, in <module>
from moviepy.video.VideoClip import VideoClip
File "C:\Python27\lib\site-packages\moviepy\video\VideoClip.py", line 20, in <module>
from .io.ffmpeg_writer import ffmpeg_write_image, ffmpeg_write_video
File "C:\Python27\lib\site-packages\moviepy\video\io\ffmpeg_writer.py", line 15, in <module>
from moviepy.config import get_setting
File "C:\Python27\lib\site-packages\moviepy\config.py", line 38, in <module>
FFMPEG_BINARY = get_exe()
File "C:\Python27\lib\site-packages\imageio\plugins\ffmpeg.py", line 86, in get_exe
raise NeedDownloadError('Need ffmpeg exe. '
imageio.core.fetching.NeedDownloadError: Need ffmpeg exe. You can download it by calling:
imageio.plugins.ffmpeg.download()
Quel est le problème ici, et comment puis-je le résoudre?
EDIT: Vous pouvez maintenant mettre à jour moviepy à la v0.2.3.3 avec pip install --upgrade moviepy
et il installera automatiquement ffmpeg si nécessaire lors de l’importation de moviepy.editor
( # 731 )
Exécuter dans une console/un shell Python (par exemple, IPython/IDLE Shell):
>>> import imageio
>>> imageio.plugins.ffmpeg.download()
Moviepy dépend de la bibliothèque imageio, qui utilise le programme ffmpeg. Il doit le télécharger avant de pouvoir l'utiliser et vous pouvez le télécharger à l'aide de la commande imageio ci-dessus.
J'avais un problème similaire; le plugin ffmpeg a été téléchargé automatiquement pour moi, mais je ne pouvais toujours pas importer l'éditeur. Dans mon cas, il manquait une autre dépendance: je l’ai corrigée en faisant un
pip install --user requests
EXPLICATION:
(Contexte: inutile, mais peut-être utile pour les autres). J'avais besoin du imagepy.editor
pour envoyer des tenseurs sous forme de vidéo à TensorBoard à l'aide de l'incroyable tensorboardX project. Comme je toujours avait une erreur d'importation, tbX n'arrêtait pas de me dire que j'avais besoin de imagepy
, ce que j'avais. Voir le numéro correspondant à GitHub que j’ai ouvert pour plus de détails.
En regardant de plus près le module via import imagepy; help(imagepy)
, j'ai vu le sous-module editor
répertorié, ce qui m'a encore plus troublé: essayer de l'importer a renvoyéAttributeError: 'module' object has no attribute 'editor'
Donc, l'erreur réelle devait être couverte quelque part. J'ai commenté la seule ligne dans le fichier __init__
du module (que vous pouvez trouver via imagepy.__file__
) et ai ajouté un import editor
explicite, qui a déclenché le message d'erreur suivant: ImportError: No module named requests
À ce stade, l'installation du package requests
et la restauration du fichier __init__
à son état d'origine ont permis l'exécution du travail. J'espère que cela t'aides!
Cordialement, Andres