Python 运行matplotlib时不兼容的libpng版本
我正在尝试使用facebook研究的Detectron。当我运行它时,它会给我以下错误:Python 运行matplotlib时不兼容的libpng版本,python,matplotlib,libpng,Python,Matplotlib,Libpng,我正在尝试使用facebook研究的Detectron。当我运行它时,它会给我以下错误: libpng warning: Application built with libpng-1.6.21 but running with 1.5.12 Traceback (most recent call last): File "tools/infer_simple.py", line 147, in <module> main(args) File "tools/infe
libpng warning: Application built with libpng-1.6.21 but running with 1.5.12
Traceback (most recent call last):
File "tools/infer_simple.py", line 147, in <module>
main(args)
File "tools/infer_simple.py", line 139, in main
kp_thresh=2
File "/home/sid/DETECTRON/detectron/lib/utils/vis.py", line 391, in vis_one_image
fig.savefig(os.path.join(output_dir, '{}'.format(output_name)), dpi=dpi)
File "/usr/local/lib/python2.7/dist-packages/matplotlib/figure.py", line 1834, in savefig
self.canvas.print_figure(fname, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/matplotlib/backend_bases.py", line 2267, in print_figure
**kwargs)
File "/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_pdf.py", line 2595, in print_pdf
file.finalize()
File "/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_pdf.py", line 595, in finalize
self.writeImages()
File "/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_pdf.py", line 1430, in writeImages
ob.id, smaskObject)
File "/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_pdf.py", line 1416, in _writeImg
self._writePng(data)
File "/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_pdf.py", line 1366, in _writePng
_png.write_png(data, buffer)
RuntimeError: Could not create write struct
libpng警告:应用程序使用libpng-1.6.21构建,但使用1.5.12运行
回溯(最近一次呼叫最后一次):
文件“tools/expert_simple.py”,第147行,在
主(args)
文件“tools/expert_simple.py”,第139行,主目录
kp_thresh=2
文件“/home/sid/DETECTRON/DETECTRON/lib/utils/vis.py”,第391行,在vis_one_图像中
fig.savefig(os.path.join(output_dir,{}.format(output_name)),dpi=dpi)
savefig中的文件“/usr/local/lib/python2.7/dist packages/matplotlib/figure.py”,第1834行
self.canvas.print_图(fname,**kwargs)
文件“/usr/local/lib/python2.7/dist packages/matplotlib/backend\u base.py”,第2267行,如图所示
**kwargs)
文件“/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_pdf.py”,第2595行,以print_pdf格式
file.finalize()文件
文件“/usr/local/lib/python2.7/dist packages/matplotlib/backends/backend_pdf.py”,第595行,在finalize中
self.writeImages()
文件“/usr/local/lib/python2.7/dist packages/matplotlib/backends/backend_pdf.py”,第1430行,以书面形式
ob.id,smaskObject)
文件“/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_pdf.py”,第1416行,在_-writeImg中
自写入(数据)
文件“/usr/local/lib/python2.7/dist packages/matplotlib/backends/backend_pdf.py”,第1366行,以书面形式
_png.write_png(数据、缓冲区)
运行时错误:无法创建写入结构
我正在运行Ubuntu 16.04。我不知道应用程序在哪里找到了
libpng 1.5.12
版本。我在我的系统中找不到它。我安装了libpng16-16
。它仍然给我同样的错误。我尝试了平台上建议的其他解决方案,但它们不起作用我想问题是您sudo pip
安装了matplotlib,matplotlib的manylinux
安装包附带的libpng版本与apt
安装的libpng版本相混淆。我建议在应用程序中使用matplotlib
#创建venv
virtualenv~/matplotlib-venv
#激活静脉
source~/matplotlib venv/bin/activate
#安装matplotlib
pip安装matplotlib
pip安装
#运行脚本
python~/path/to/your/srcript.py
matplotlib是如何安装的?@code\u onkelpip安装matplotlib
# create venv
virtualenv ~/matplotlib-venv
# activate venv
source ~/matplotlib-venv/bin/activate
# install matplotlib
pip install matplotlib
pip install <everything else you need>
# run your script
python ~/path/to/your/srcript.py