PermissionError: [WinError 5] L'accès est refusé python en utilisant moviepy pour écrire gif
j'utilise windows 8.1 64 bit
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:abiyoutubetogif_projecttest.py", line 5, in <module>
clip.write_gif('G:abiaasda.gif')
File "<string>", line 2, in write_gif
File "C:Python34libsite-packagesmoviepy-0.2.1.8.12-py3.4.eggmoviepydecorators.py", line 49, in requires_duration
return f(clip, *a, **k)
File "C:Python34libsite-packagesmoviepy-0.2.1.8.12-py3.4.eggmoviepyvideoVideoClip.py", line 435, in write_gif
dispose= dispose, colors=colors)
File "<string>", line 2, in write_gif
File "C:Python34libsite-packagesmoviepy-0.2.1.8.12-py3.4.eggmoviepydecorators.py", line 49, in requires_duration
return f(clip, *a, **k)
File "C:Python34libsite-packagesmoviepy-0.2.1.8.12-py3.4.eggmoviepyvideoiogif_writers.py", line 186, in write_gif
stdout=sp.PIPE)
File "C:Python34libsubprocess.py", line 848, in __init__
restore_signals, start_new_session)
File "C:Python34libsubprocess.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, tournant moviepy dependancies et python en administrateur, désactiver UAC me donne toujours une erreur
4 réponses
j'ai couru dans cette ainsi, la solution est généralement pour être sûr d'exécuter le programme en tant qu'administrateur (clic droit, exécuter en tant qu'administrateur.)
parfois, il arrive que certaines installations ne soient pas terminées correctement, que le processus STACKS et un fichier soient encore ouverts. Donc, lorsque vous essayez d'exécuter à nouveau l'installation et l'installation nécessite la suppression, vous voyez l'erreur observée. Dans mon cas, désactiver les processus python et la commande Prompt utilization a aidé
peut-être que vous avez mal défini la permission sur python3. Par exemple, si le fichier d'autorisation est définie comme
`os.chmod('spam.txt', 0777)` --> This will lead to SyntaxError
cette syntaxe a été utilisée dans Python2. Maintenant, si tu changes comme:
os.chmod('spam.txt', 777)
--> C'est encore pire!! Votre permission sera définie à tort puisque ne sont pas sur" octal " mais sur décimal.
après vous obtiendrez l'erreur de permission si vous essayez par exemple de supprimer le fichier: PermissionError: [WinError 5] L'accès est refusé:
LA Solution pour python3 est assez facile:
os.chmod('spam.txt', 0o777)
-- > la syntaxe est maintenant zéro et o "0o"
j'avais exactement le même problème, avec une erreur D'Accès refusé qui a été soulevée du module de sous-processus.
s'avère que c'est un bug en Python. Heureusement pour nous, il a déjà été résolu. La mise à jour de votre Python vers la dernière version devrait corriger le problème. Par exemple, j'étais encore sur 2.7.3 sur cette machine, et la mise à jour de 2.7.9 résolu. Mais le bug a aussi affecté les branches 3.2 et 3.3 de Python.