我无法以 mp4 格式保存动画,我知道我以前能够做到这一点,因为我的旧项目不再工作
import matplotlib.pyplot as plt
import matplotlib.animation as animate
fig,ax = plt.subplots()
def fun (frame):
ax.plot([1,2,3])
a=animate.FuncAnimation(fig,fun, 5, interval=20)
a.save('tmp.mp4')
# 'tmp.gif' works
Run Code Online (Sandbox Code Playgroud)
错误信息
Exception Unhandled
unknown file extension: .mp4
Run Code Online (Sandbox Code Playgroud)
如果我尝试将动画保存为“gif”,我会收到以下消息
MovieWriter ffmpeg unavailable; using Pillow instead.
Run Code Online (Sandbox Code Playgroud)
我也不明白,因为据我所知,我确实安装了 ffmpeg
“pip list”给了我这个:
certifi 2020.11.8
cycler 0.10.0
ffmpeg 1.4
kiwisolver 1.3.1
matplotlib 3.3.3
numpy 1.19.3
Pillow 8.0.1
pip 20.2.1
pyparsing 2.4.7
python-dateutil 2.8.1
setuptools 49.2.1
six 1.15.0
Run Code Online (Sandbox Code Playgroud)
有人知道如何解决这个问题吗?
为什么s1()在这里调用构造函数?
#include<iostream>
struct s1 {
s1(int tmp) {
}
s1() {
std::printf("s1 invoked");
}
};
struct s2 {
s1 s;
s2(s1& s) {
this->s = s;
}
};
int main() {
s1 o1(5);
s2 o2(o1);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
结果:
s1 invoked
为什么在s2(s1& s)调用s1()构造函数中按引用传递?