Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 运行matplotlib时不兼容的libpng版本_Python_Matplotlib_Libpng - Fatal编程技术网

Python 运行matplotlib时不兼容的libpng版本

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

我正在尝试使用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/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 onkel
pip安装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