Python Pyplot“;无法连接到X服务器本地主机:10.0;尽管有ioff()和matplotlib.use(';Agg';)

Python Pyplot“;无法连接到X服务器本地主机:10.0;尽管有ioff()和matplotlib.use(';Agg';),python,matplotlib,x11,x11-forwarding,Python,Matplotlib,X11,X11 Forwarding,我有一段代码,它被另一个函数调用,为我执行一些计算,然后将输出打印到一个文件中。考虑到整个脚本可能需要一段时间才能运行较大的数据集,并且由于我可能希望在给定时间分析多个数据集,因此我在屏幕中启动它,然后断开并关闭putty会话,并在第二天检查它。我正在使用Ubuntu 14.04。我的代码如下所示(我跳过了计算): 在我使用绘图命令之前,脚本运行得非常顺利。为了试图找到问题的根源,我目前正在putty中运行它,没有屏幕,也没有X11应用程序。我得到的输出如下: plotting indeg Pu

我有一段代码,它被另一个函数调用,为我执行一些计算,然后将输出打印到一个文件中。考虑到整个脚本可能需要一段时间才能运行较大的数据集,并且由于我可能希望在给定时间分析多个数据集,因此我在
屏幕中启动它,然后断开并关闭putty会话,并在第二天检查它。我正在使用Ubuntu 14.04。我的代码如下所示(我跳过了计算):

在我使用绘图命令之前,脚本运行得非常顺利。为了试图找到问题的根源,我目前正在putty中运行它,没有屏幕,也没有X11应用程序。我得到的输出如下:

plotting indeg
PuTTY X11 proxy: unable to connect to forwarded X server: Network error: Connection refused
: cannot connect to X server localhost:10.0

我猜想这是由于代码试图打开一个窗口造成的,但我认为通过明确设置
plt.off()
这将被禁用。因为不是这样,所以我遵循这个线程()并指定了后端,但这也不能解决问题。哪里可能出错?

调用函数也调用其他也使用matplotlib的函数。仅在此之后调用它们,但在
import
语句期间加载它们的依赖项。由于它们是先加载的,所以禁用了随后的
matplotlib.use('Agg')
声明。将该声明移动到主脚本解决了这个问题

plotting indeg
PuTTY X11 proxy: unable to connect to forwarded X server: Network error: Connection refused
: cannot connect to X server localhost:10.0