python - numdisplay ds9 在 Debian Linux 上崩溃

标签 python linux

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

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

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

In [2]: import pyfits as pf

In [3]: import numdisplay as nd

In [4]: import ds9

In [5]: ds9.ds9()

Out[5]: ds9.ds9 at 0xa3e870c

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

In [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]:

有人可以帮我吗?

谢谢

马可

最佳答案

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

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

关于python - numdisplay ds9 在 Debian Linux 上崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23061271/

相关文章:

python - Pandas 根据另一列的子字符串中的数字从子字符串切片中创建新列

linux - 在登录时运行一次性命令 (Linux)

c - 隐藏设备应用程序执行失败

linux - linux下用svgalib程序调试

python - 为什么我的 Python 代码在从另一个文件调用时添加随机单引号?

python - Python中调用cls对象的构造函数

python - 使用 glstm(Group LSTM) cell 在 tensorflow 中构建双向 rnn

python - 多个机器人同时进行路径规划

linux - 在日志文件中使用日期时间和 ID 进行 Grep

python - lambda 的可能替代品以访问数组中的项目