簡體   English   中英

在anaconda python中保存動畫文件時出現“IOError:[Errno 32] Broken pipe”

[英]“IOError: [Errno 32] Broken pipe” when saving animation files in anaconda python

我有一個來自matplotlib示例的非常簡單的代碼:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

fig, ax = plt.subplots()
line, = ax.plot(np.random.rand(10))
ax.set_ylim(0, 1)

def update(data):
   line.set_ydata(data)
return line,

def data_gen():
   while True: yield np.random.rand(10)

ani = animation.FuncAnimation(fig, update, data_gen, interval=1000)
anim.save('basic_animation.mp4', fps=30)
plt.show()

如果我不使用anim.save()函數,一切都是正確的。 但是,當我想保存它時,它會報告:

IOError                                   Traceback (most recent call last)
<ipython-input-6-8948bc3b3f5c> in <module>()
     16 
     17 ani = animation.FuncAnimation(fig, update, data_gen, interval=1000)
---> 18 anim.save('basic_animation.mp4', fps=30)
     19 plt.show()

....(traceback details are omitted here) 

/home/xin/anaconda2/lib/python2.7/site-packages/matplotlib/backends/backend_agg.pyc in print_raw(self, filename_or_obj, *args, **kwargs)
    517             close = False
    518         try:
--> 519             fileobj.write(renderer._renderer.buffer_rgba())
    520         finally:
    521             if close:

IOError: [Errno 32] Broken pipe

我該如何解決? 或者還有其他方法可以將動畫保存到文件中嗎?

補充:要安裝ffmpeg,我只需運行:conda install -c https://conda.anaconda.org/mutirri ffmpeg

讓我自己解決! 我使用conda install來獲取ffmpeg,但是當使用ffmpeg --version時總會說:

libssl.so.10: cannot open shared object file: No such file or directory

所以我使用:

sudo ln -s /home/xin/anaconda2/lib/libssl.so.1.0.0 libssl.so.10

然后得到關於libcrypto.so.10的類似問題,所以我使用:

sudo ln -s /home/xin/anaconda2/lib/libcrypto.so.1.0.0 libcrypto.so.10

這兩個文件位於/ lib / x86_64-linux-gnu中。

現在一切正常!! 我知道有些人也有類似的問題,所以我在這里記錄。

將來,如果需要刪除鏈接:

cd /lib/x86_64-linux-gnu
sudo unlink libssl.so.10
sudo unlink libcrypto.so.10

我認為應該是

ani.save('basic_animation.mp4', fps=30)

並不是

anim.save('basic_animation.mp4', fps=30)

如果你定義的變量是ani

我也有這個問題。 指定writer='imagemagick'為我工作。

anim.save('basic_animation.mp4', fps=30, writer='imagemagick')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM