web-dev-qa-db-fra.com

PermissionError: [WinError 5] L'accès est refusé python en utilisant moviepy pour écrire gif

J'utilise Windows 8.1 64 bits

mon code

import pdb
from moviepy.editor import *

clip = VideoFileClip(".\\a.mp4")
clip.write_gif('.\\aasda.gif')

l'exception est à la méthode write_gif

Traceback (most recent call last):
  File "C:\abi\youtubetogif_project\test.py", line 5, in <module>
    clip.write_gif('G:\\abi\\aasda.gif')
  File "<string>", line 2, in write_gif
  File "C:\Python34\lib\site-packages\moviepy-0.2.1.8.12-py3.4.Egg\moviepy\decorators.py", line 49, in requires_duration
    return f(clip, *a, **k)
  File "C:\Python34\lib\site-packages\moviepy-0.2.1.8.12-py3.4.Egg\moviepy\video\VideoClip.py", line 435, in write_gif
    dispose= dispose, colors=colors)
  File "<string>", line 2, in write_gif
  File "C:\Python34\lib\site-packages\moviepy-0.2.1.8.12-py3.4.Egg\moviepy\decorators.py", line 49, in requires_duration
    return f(clip, *a, **k)
  File "C:\Python34\lib\site-packages\moviepy-0.2.1.8.12-py3.4.Egg\moviepy\video\io\gif_writers.py", line 186, in write_gif
    stdout=sp.PIPE)
  File "C:\Python34\lib\subprocess.py", line 848, in __init__
    restore_signals, start_new_session)
  File "C:\Python34\lib\subprocess.py", line 1104, in _execute_child
    startupinfo)
PermissionError: [WinError 5] Access is denied

J'ai déplacé le script vers un autre dossier et une autre partition, en exécutant les dépendances de moviepy et python en tant qu'administrateur, ce qui me permet de désactiver l'erreur UAC.

28

J'ai également rencontré ce problème, la solution consiste généralement à exécuter le programme en tant qu'administrateur (clic droit, exécuter en tant qu'administrateur.)

33
Reed Jones

Parfois, cela se produit lorsque certaines installations ne sont pas terminées correctement, que le processus est bloqué ou qu'un fichier est toujours ouvert. Ainsi, lorsque vous essayez d'exécuter à nouveau l'installation et que l'installation nécessite une suppression, vous pouvez voir l'erreur susmentionnée. Dans mon cas, fermer les processus python et utiliser l'invite de la commande a aidé.

4
OuuLin