当使用matplotlib动画时出现“Permission denied”错误

3

我正在尝试使用在这里找到的示例代码制作动画。我已经安装了ffmpegyasm,但当我运行代码时,包括该行:

ani.save('test.mp4', writer = FFwriter, dpi = 40)

我遇到了以下错误。
PermissionError: [Errno 13] Permission denied

(其中 FFwriter = animation.FFMpegWriter(fps = 30) 在我的 Jupyter 文档开头被定义). 我已经尝试了很多次,但仍然无法让任何东西工作。甚至尝试更改 ffmpeg 的权限,但仍然无法消除错误。

编辑 以下是我的导入和其他细节信息:

import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.animation as animation
plt.rcParams['animation.ffmpeg_path'] = '/usr/local/Cellar/ffmpeg/'
FFwriter = animation.FFMpegWriter(fps = 30)

你尝试过以sudo身份运行脚本,这样你就有权限了吗? - Michael
问题是由你尝试保存文件的位置引起的。你可能需要提供一个完整的路径到你有权限保存文件的地方。 - Cfreak
@ Cfreak 我尝试提供我的桌面路径,但仍然不起作用。 - Nate Stemen
@Michael,你的意思是运行 sudo python /Users/pathtofile/filename.py?如果是,我尝试过这样做但仍然出现错误。 - Nate Stemen
在我的情况下,我通过将文件名更改为 os.getcwd() + "/fname",更改整个目录以不包含任何无法解码的字符(例如希伯来语字符),并在执行前两步后按允许键,以解决相同的问题。当我的防病毒软件试图阻止写入器时。 - Rotem Shalev
2个回答

1
您没有在工作目录中保存的权限。请写出完整文件路径,保存至您有权限的地方;或使用sudo运行脚本,以获取适当的权限。

使用/Users/natestemen/Desktop/test.mp4,我仍然得到同样的错误。 - Nate Stemen
尝试使用sudo运行您的脚本或解释器。 - Michael
我尝试运行 sudo python *文件路径*,但仍然得到相同的错误! - Nate Stemen
即使保存到桌面? - Michael
是的。可能是Python没有正确访问FFmpeg的问题吗? - Nate Stemen

0
在我的情况下,这个问题通过安装imagemagick得到了解决。如果您使用conda
conda install -c conda-forge imagemagick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接