2013-10-03 2 views
0

Я учился использовать python в астрономии, и для этого я следую за this нотами. В самом начале автор делает следующий пример:Использование numdisplay «Существующее соединение было принудительно закрыто удаленным хостом»

>>> im = pyfits.getdata('http://das.sdss.org/www/cgi-bin/drC?RUN=3630&RERUN=40&CAMCOL=3&FIELD=83&FILTER=r') 
>>> numdisplay.display(im,z1=1000,z2=1500) 

я пытаюсь повторить его, и я получаю:

>>> numdisplay.display(im,z1=1000,z2=1500) 
Image displayed with Z1: 1000 Z2: 1500 

Traceback (most recent call last): 
    File "<pyshell#13>", line 1, in <module> 
    numdisplay.display(im,z1=1000,z2=1500) 
    File "C:\Mine\Python\lib\site-packages\numdisplay\__init__.py", line 446, in display 
    _d.writeImage(bpix,_wcsinfo) 
    File "C:\Mine\Python\lib\site-packages\numdisplay\displaydev.py", line 513, in writeImage 
    self.writeData(_lx,_ydisp,_fpix[block,:]) 
    File "C:\Mine\Python\lib\site-packages\numdisplay\displaydev.py", line 379, in writeData 
    self._writeHeader(opcode,self._MEMORY, -nbytes, x, y, frame, 0) 
    File "C:\Mine\Python\lib\site-packages\numdisplay\displaydev.py", line 542, in _writeHeader 
    self._write(a.tostring()) 
    File "C:\Mine\Python\lib\site-packages\numdisplay\displaydev.py", line 580, in _write 
    nwritten = self._socket.send(s[-n:]) 
error: [Errno 10054] An existing connection was forced to close by the remote host 

Я не понимаю, что я делаю неправильно. Я имею в виду, если я напишу numdisplay.open() все в порядке ... Я думаю, что это может быть мой антивирус или что-то, что не позволяет питону общаться с ds9 ... Может ли кто-нибудь мне помочь?

Редактировать: Ну, похоже, это не антивирус. Я остановил его и запустил сценарий, и я получил ту же ошибку.

+0

Какой антивирус у вас есть? Я использую Mcafee, и иногда получаю это сообщение при игре с сетевыми операциями. – Kevin

+0

@kevin Я использую avast. Но это странно, поскольку все, что вызывает проблему, позволяет python извлекать файл из Интернета, но не подключаться к ds9. – PML

ответ

1

Я получал подобные сообщения об ошибках, и я просто попытался добавить не-'None аргумент»к аргументу и имя-буфера он работает (мой образ о 4096,4096):

numdisplay.display(data,bufname='imt4096') 
Смежные вопросы