pycharm连接docker解释器并且在本地使用matplotlib绘图方法

提示:文章写完后,可以自动生成目录。生成方法请参考右侧帮助文档

前言

毕业设计要用到深度学习,于是想着使用docker+pycharm来搭建深度学习环境,使用过程中遇到一个问题,代码中使用了matplotlib,无法将图片直接绘制出来,报错,有一个tensorboardx的解决方案,但是那个是后端交互的,没有直接绘制方便

提示:以下是本篇文章正文内容,下面案例可供参考

1. 需求

1.使用docker搭建深度学习环境
2.pycharm连接docker镜像,实现解释器在镜像中,代码本地,图像在本地中显示

2.使用步骤

1.安装xserver

#安装xserver
$sudo apt install x11-xserver-utils
#许可所有用户都可访问xserver    注意加号前应有空格
$xhost +

开放权限,允许所有用户,当然包括docker,访问X11 的显示接口
xhost+在重启系统之后会失效,需要重新设置,也可以使用永久生效的设置方法

2.将Tkagg设置为docker镜像中matplotlib的后端参数。

首先从镜像启动容器并安装以下依赖库

$ sudo apt-get install tcl-dev tk-dev python-tk python3-tk

用pip卸载已经安装的matplotlib库

$ pip uninstall matplotlib

然后重新安装matplotlib。

pip install matplotlib

让我们再看看当前的后端设置。

>>> import matplotlib
>>> matplotlib.get_backend()
'TkAgg

此时,后端设计已经修改。
之后使用docker commit 命令将容器保存为新的镜像

3.在pycharm中连接我们新保存的镜像

pycharm连接docker解释器并且在本地使用matplotlib绘图方法
pycharm连接docker解释器并且在本地使用matplotlib绘图方法
这个时候我们的pycharm中已经识别到了本机的docker镜像

4.在pycharm中为docker镜像增加启动参数

点击pycharm工具栏的run,然后选择edit configurations

pycharm连接docker解释器并且在本地使用matplotlib绘图方法在python interpreter中选择我们docker镜像中的解释器
pycharm连接docker解释器并且在本地使用matplotlib绘图方法之后在docker container setting 中为docker镜像添加启动参数
pycharm连接docker解释器并且在本地使用matplotlib绘图方法
pycharm连接docker解释器并且在本地使用matplotlib绘图方法启动参数如下:
–entrypoint= –network=host –gpus all -v /tmp/.X11-unix:/tmp/.X11-unix -e GDK_SCALE -e GDK_DPI_SCALE –privileged –rm
参考链接:

Docker容器图形界面显示(运行GUI软件)的配置方法
显示matplotlib图的简单Docker容器
Matplotlib无法显示图像的问题

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2022年4月6日 下午3:51
下一篇 2022年4月6日 下午5:01

相关推荐