PermissionError: [Errno 13] Permission denied: '/Users/juliencatanese/opt/anaconda3/bin/ffmpeg'

Bonjour, Je tente de faire fonctionner le le 1er notebook: « cours reinforcement_01_definitions_fr » du Module 161 Reinforcement Learning.

Je voudrais executer: vanilla_env.run_episode()
en local sur mon MacBook Pro OS Ventura 13.4 (22F66)
J’utilise un notebook de anaconda (Anaconda 2.4.0).
Malheureusement j’obtient une erreur (voir plus bas)

que dois-je installer comme package?

j’ai taper dans une console:
pip install sk-video
pip install ffmpeg-python

je tape dans Notebook local:
vanilla_env.run_episode()

j’obtient
# AssertionError: Cannot find installation of real FFmpeg (which comes with ffprobe)

puis j’ai fait :
pip uninstall ffmpeg-python
suivie de :
conda install -c conda-forge ffmpeg

je tape dans Notebook local:
vanilla_env.run_episode()

j’obtient l’erreur suivante:

PermissionError Traceback (most recent call last)
/var/folders/fr/j3w14lqd18702_9chfn3vk580000gn/T/ipykernel_5211/1461573289.py in
----> 1 vanilla_env.run_episode()
2 wumpus_env.run_episode()
3 windy_env.run_episode()
4 cliff_env.run_episode()

~/Dropbox/Datascientest/Cours_datascientest/Module 161 Reinforcement Learning/gridworld/environments.py in run_episode(self, max_length, write)
262 if write:
263 self.build_frame()
→ 264 self.create_video()
265 return agent_position, reward, breeze, smell, end_episode, info
266

~/Dropbox/Datascientest/Cours_datascientest/Module 161 Reinforcement Learning/gridworld/environments.py in create_video(self)
318 def create_video(self):
319 video_name = ‹ {}episode{}.mp4 ›.format(self.agent.prefix, self.episode)
→ 320 skvideo.io.vwrite(video_name, self.video, outputdict=self.output_parameters)
321 pass
322

~/opt/anaconda3/lib/python3.9/site-packages/skvideo/io/io.py in vwrite(fname, videodata, inputdict, outputdict, backend, verbosity)
62 writer = FFmpegWriter(fname, inputdict=inputdict, outputdict=outputdict, verbosity=verbosity)
63 for t in range(T):
—> 64 writer.writeFrame(videodata[t])
65 writer.close()
66 elif backend == « libav »:

~/opt/anaconda3/lib/python3.9/site-packages/skvideo/io/ffmpeg.py in writeFrame(self, im)
446 T, M, N, C = vid.shape
447 if not self.warmStarted:
→ 448 self._warmStart(M, N, C)
449
450 # Ensure that ndarray image is in uint8

~/opt/anaconda3/lib/python3.9/site-packages/skvideo/io/ffmpeg.py in _warmStart(self, M, N, C)
416 # Launch process
417 if self.verbosity == 0:
→ 418 self._proc = sp.Popen(cmd, stdin=sp.PIPE,
419 stdout=self.DEVNULL, stderr=sp.STDOUT)
420 else:

~/opt/anaconda3/lib/python3.9/subprocess.py in init(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, user, group, extra_groups, encoding, errors, text, umask)
949 encoding=encoding, errors=errors)
950
→ 951 self._execute_child(args, executable, preexec_fn, close_fds,
952 pass_fds, cwd, env,
953 startupinfo, creationflags, shell,

~/opt/anaconda3/lib/python3.9/subprocess.py in _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, gid, gids, uid, umask, start_new_session)
1819 if errno_num != 0:
1820 err_msg = os.strerror(errno_num)
→ 1821 raise child_exception_type(errno_num, err_msg, err_filename)
1822 raise child_exception_type(err_msg)
1823

PermissionError: [Errno 13] Permission denied: ‹ /Users/juliencatanese/opt/anaconda3/bin/ffmpeg ›

J’ai donner les accees read and write a tout les utilisateurs mais cela ne march pas.
Je ne sais plus quoi faire?
avez vous une idee? (Je suis ok pour faire un zoom si cela aide).
Merci de votre aide

Bonjour,

De mémoire, il est d’abord nécessaire d’installer ffmpeg sur la machine (sans python) : Download FFmpeg

Je ne sais pas sur Mac, mais, il me semble que sur Windows, il est ensuite nécessaire de le mettre en variable de l’environnement.