Проблема со скриптом ipy.vim - PullRequest
2 голосов
/ 29 апреля 2011

Я пытаюсь использовать скрипт ipy.vim для настройки небольшой среды разработки на Python, но у меня проблема с подключением. Когда я набираю ipy_vimserver.setup ("demo"), я получаю эту ошибку:

Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
    self.run()
  File "/usr/lib/pymodules/python2.6/IPython/Extensions/ipy_vimserver.py", line 109, in serve_me
    self.listen()
  File "/usr/lib/pymodules/python2.6/IPython/Extensions/ipy_vimserver.py", line 93, in listen
    self.socket.bind(self.__sname)
  File "<string>", line 1, in bind
error: [Errno 98] Address already in use

Когда я набираю его второй раз, все нормально, но когда я запускаю gvim, команда F4 / F5 ничего не делает и заявляет, что не может подключиться к серверу Ipython.

есть предложения?

Ответы [ 3 ]

0 голосов
/ 06 июня 2011

Если я запускаю точно такой же код, я получаю ту же ошибку.Если я изменю название с «демо» на, например, «куки», это сработает.Хм ....

0 голосов
/ 12 августа 2011

Это происходит, когда уже есть сокет с именем, которое вы пытаетесь создать, в данном случае 'demo'.Вам нужно удалить его перед выполнением ipy_vimserver.setup - в вашем случае файл сокета для удаления будет ~/.ipython/demo

(я один из авторов ipy.vim)

0 голосов
/ 15 мая 2011

Проблема:

Посмотрите на последнюю строку трассировки стека: error: [Errno 98] Address already in use

Объяснение:

Хорошее объяснение ошибки "Address already in use" можно найти здесь: «Привязка: адрес уже используется»

Возможное решение:

Как яЯ не пробовал ipy.vim настроить себя, с точки зрения сети, быстрое предложение было бы:

  • закрыть / убить как сервер (ipython server), так и клиент (vim running ipy.vim).
  • Перезапустить ipython server
  • Запустить vim с ipy.vim и попытаться отладить.

Дополнительная информация:

  • На машинах Linux / Unix значения тайм-аута определены в /proc/sys/net/ipv4/tcp_keepalive_time и /proc/sys/net/ipv4/tcp_fin_time
  • На машинах Windows это значение установлено в HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpTimedWaitDelay.Более подробная информация здесь: TcpTimedWaitDelay
...