Как устранить неполадки в ipython-listener и / или в плагине ipython для gedit?

Я использую Gedit 3.8.3, Python 2.7.5+, IPython 0.13.2 и плагин Gedit Ipython.

Я знаю, что есть лучшие IDE для Python, но раньше это "просто работало", а затем я получил новую машину и установил Ubuntu 13.10, и он больше не работает. Плагин имел обыкновение давать мне ошибку, (gedit:23136): libpeas-WARNING **: Could not find loader 'python' for plugin 'ipython' но я последовал совету AskUbuntu и отредактировал строку Loader в /usr/lib/gedit/plugins/ipython.plugin в Loader=python3 и теперь он загружается без ошибок, но также ничего не делает. Так или иначе iPython-listener работает, ошибка, которую я вижу в консоли

Traceback (most recent call last):
  File "/usr/lib/gedit/plugins/ipython.py", line 98, in send_to_ipython
    self.socket.sendto(code, (self.listener_host, self.listener_port) )     
TypeError: 'str' does not support the buffer interface

Есть ли способ заставить это работать?

1 ответ

Решение

Репостить как ответ:

Плагин gedit IPython, похоже, написан только для Python 2, но похоже, что для его адаптации к Python 3 требуется лишь небольшое изменение. Найдите строку, на которой произошла ошибка:

self.socket.sendto(code, (self.listener_host, self.listener_port) )

И изменить это на это:

self.socket.sendto(code.encode('utf-8'), (self.listener_host, self.listener_port) )

UTF-8 должен быть правильным по умолчанию в большинстве современных систем Linux.

Другие вопросы по тегам