Python Debian linux上的numdisplay ds9崩溃

Python Debian linux上的numdisplay ds9崩溃,python,linux,Python,Linux,作为一名天文学家,我开始使用python,并一直在使用numdisplay包在SAO ds9上显示和操作图像。 我所在大学的计算机实验室最近将linux版本更新为Debian 7.1。 我使用Python0.13.1和numdisplay v.1.5.6、pyds9 v.1.7和pyfits v2.3.1运行Python2.7.3 我正在使用中给出的显示程序 加载fits图像并打开ds9接口后,我尝试在ds9上显示图像,但ds9崩溃。 以下是我在交互模式下使用的步骤: 在[2]中:将pyfits

作为一名天文学家,我开始使用python,并一直在使用numdisplay包在SAO ds9上显示和操作图像。 我所在大学的计算机实验室最近将linux版本更新为Debian 7.1。 我使用Python0.13.1和numdisplay v.1.5.6、pyds9 v.1.7和pyfits v2.3.1运行Python2.7.3

我正在使用中给出的显示程序

加载fits图像并打开ds9接口后,我尝试在ds9上显示图像,但ds9崩溃。 以下是我在交互模式下使用的步骤:

在[2]中:将pyfits导入为pf

在[3]中:将numdisplay作为nd导入

在[4]中:导入ds9

在[5]中:ds9.ds9()

输出[5]:0xa3e870c处的ds9.ds9

在[6]中:im=pf.getdata('M52b.fit')

In[7]:第二显示(im)

我得到以下错误消息:

    error                                     Traceback (most recent call last)
    <ipython-input-7-6988a1e88909> in <module>()
----> 1 nd.display(im)

    /usr/local/lib/python2.7/dist-packages/numdisplay/__init__.pyc in display(self, pix, name, bufname, z1, z2, transform, zscale, contrast, scale, offset, frame)
    395 
    396         # Initialize the specified frame buffer
--> 397         _d.setFrame(self.frame)
    398         _d.eraseFrame()
    399 

    /usr/local/lib/python2.7/dist-packages/numdisplay/displaydev.pyc in setFrame(self, frame_num)
    405 
    406         code = self._LUT | self._COMMAND
--> 407         self._writeHeader(self._IIS_WRITE, code, -1, 0, 0, 0, 0)
    408 
    409         # Update with user specified frame number

    /usr/local/lib/python2.7/dist-packages/numdisplay/displaydev.pyc in _writeHeader(self, tid, subunit, thingct, x, y, z, t)
    540         sum = 0xffff - (sum & 0xffff)
    541         a[3] = sum 
--> 542         self._write(a.tostring())
    543 
    544     def close(self, os_close=os.close):

/usr/local/lib/python2.7/dist-packages/numdisplay/displaydev.pyc in _write(self, s)
    578             n = len(s)
    579             while n>0:
--> 580                 nwritten = self._socket.send(s[-n:])
    581                 n -= nwritten
    582                 if nwritten <= 0:
    
error: [Errno 104] Connection reset by peer

In [8]:
错误回溯(最近一次调用上次)
在()
---->第1显示(im)
/显示中的usr/local/lib/python2.7/dist packages/numdisplay/_init__u;.pyc(self、pix、name、bufname、z1、z2、transform、zscale、对比度、缩放、偏移、帧)
395
396#初始化指定的帧缓冲区
-->397_d.设置帧(自帧)
398 _d.擦除帧()
399
/setFrame中的usr/local/lib/python2.7/dist-packages/numdisplay/displaydev.pyc(self,frame_num)
405
406代码=self.\u LUT | self.\u命令
-->407 self.\u writeHeader(self.\u IIS\u WRITE,代码,-1,0,0,0)
408
409#使用用户指定的帧编号进行更新
/usr/local/lib/python2.7/dist-packages/numdisplay/displaydev.pyc in_writeHeader(self、tid、subunit、thingct、x、y、z、t)
540总和=0xffff-(总和和0xffff)
541 a[3]=总和
-->542 self.\u write(a.tostring())
543
544 def关闭(自身,操作系统关闭=操作系统关闭):
/usr/local/lib/python2.7/dist-packages/numdisplay/displaydev.pyc in_write(self,s)
578 n=len(s)
579当n>0时:
-->580 nwrited=self.\u socket.send(s[-n:])
581 n-=未写入
582如果nwrite错误消息表示“我正在发送数据,但远程端突然关闭了连接。”

因此,您需要检查服务器的错误日志以找出问题所在。这并不意味着客户端是否正确(客户端可能会向服务器发送非法数据,使其崩溃),但您需要先调试服务器,以找出中断连接的原因