• pycharm 远程显示 matplotlib


    本地:Ubuntu 16.04
    远程服务器:Ubuntu 16.04
    ******************************************************************************

    • 远程服务器上安装
    sudo apt-get install xauth
    sudo apt-get install xorg
    
    • 在本地笔记本上打开终端,输入命令:连接上远程服务器,- Y表示建立可信客户端
    ssh -Y user_name@remote_ip
    

    连上之后,打开ssh文件:

    vi /etc/ssh/sshd_config 
    

    找到下面这几行,并去掉注释,若没有,则加上这几行

    X11Forwarding yes
    X11DisplayOffset 10
    X11UseLocalhost no
    

    修改之后,重启ssh

    service ssh restart
    

    在终端中输入xeyes,可以在本地桌面显示那一双眼睛(如果没有这个命令,可以安装sudo apt-get install xeyes),于是确定了本地电脑和服务器之间的X11 forwarding服务是调通了的

    • 然后输入echo $DISPLAY我这里显示是:
    echo $DISPLAY
    localhost:10.0
    

    如果这里没有这个环境变量,可以手动设置一个export DISPLAY=localhost:10:0
    这时候,在连接上远程服务器的ssh命令行上输入xeyes,检测是否屏幕上出现一双眼睛
    若还是没有,本地客户端可以有两种方法保证ssh可以进行X11转发:
    修改/etc/ssh/ssh_config~/.ssh/config文件
    前者是全局配置,后者为当前用户配置,二者都存在的情况下,后者会覆盖前者的配置。
    有两个选项需要注意:
    ForwardX11
    ForwardX11Trusted
    这两个的作用是相互影响的

    ForwardX11 ForwardX11Trusted ssh_mode
    no no disabled
    no yes disabled
    yes no untrusted
    yes yes trunsted
    • 复制DISPLAY的输出,再获取当前matplotlib的后端配置,我这里的是 Qt5Agg
    Python 3.7.0 (default, Jun 28 2018, 13:15:42) 
    [GCC 7.2.0] :: Anaconda, Inc. on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import matplotlib
    >>> print(matplotlib.get_backend())
    Qt5Agg
    >>> exit
    
    • 配置pycharm,RUN --> Edit Configuration --> Environment --> Environment Varibles,添加环境变量,如下图所示:
    • 最后,写代码测试,注意在使用 matplotlib 时应该提前使用其后端,如下代码前2行所示:
    import matplotlib
    matplotlib.use('Qt5Agg') #这一句应该放在 import pyplot前面
    import matplotlib.pyplot as plt
    
    import numpy as np
    
    plt.plot(np.arange(50))
    plt.show()
    
    ssh_args ssh_mode
    ssh disabled
    ssh -X untrusted
    ssh -Y trunsted
    ssh -Y -p2345 user_name@remote_ip
    
    • 然后run,就可以在本地笔记本pycharm中显示matplotlib图片了
  • 相关阅读:
    SQLyog连接mysql8,报错1251
    Oracle日期函数
    git 回退
    git新建分支并指定拉去远程分支
    git创建分支并拉去远端分支代码
    git创建空白分支
    Maven 本地仓库明明有jar包,pom文件还是报错解决办法(Missing artifact...jar)
    SqlHelper类
    ADO.NET中的模型及对象
    MVC过滤器---异常处理过滤器
  • 原文地址:https://www.cnblogs.com/qiulinzhang/p/10464463.html
Copyright © 2020-2023  润新知