numdisplay ds9在Debian linux上崩溃了

时间:2014-04-14 13:21:16

标签: python linux

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

我正在使用http://stsdas.stsci.edu/perry/pydatatut.pdf中提供的显示程序。

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

  

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

     

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

     

在[4]中:导入ds9

     

在[5]中:ds9.ds9()

     

输出[5]:ds9.ds9位于0xa3e870c

     

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

     

在[7]中:nd.display(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 个答案:

答案 0 :(得分:0)

错误消息表示“我正在发送数据,但远程端突然关闭了连接。”

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