2015-02-11 1 views
5

Запуск Python 2.7.3 на Ubuntu 12.04 с последними версиями IPython. Я установил IdleX, но как только я запускаю его, я получаю сообщение об ошибке:Получение IdleX AttributeError

Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/dist-packages/idlexlib/extensionManager.py", line 131, in load_extension 
    mod = importlib.import_module('.' + fullname, package=__package__) 
    File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
    File "/usr/local/lib/python2.7/dist-packages/idlexlib/extensions/IPyIDLE.py", line 253, in <module> 
    class IdleXSubSocketChannel(SimpleChannel, channels.IOPubChannel): 
AttributeError: 'module' object has no attribute 'IOPubChannel' 
could not load IPyIDLE 

Сначала я думал, что я мог игнорировать его, как и все, казалось, все равно работать хорошо, но потом я попробовал несколько сценариев, которые вызвали ошибки в IdleX, но не в обычном простоя. В частности, from selenium import webdriver работал нормально в обычном режиме, но не в IdleX. Не могу понять, что я делаю неправильно и что с этим делать ...

+0

Все еще актуально на окнах. Как его исправить? Он работал один раз, перестал работать после того, как я переустановил ipython. –

ответ

1

После мягкого поиска я узнал, что проблема была вызвана последней версией IPython, которая удалила необходимые «каналы» "пакет.

Вам необходимо сначала удалить свою версию IPython. Это легко сделать с помощью команды:

$ pip uninstall ipython 

После вы приняли и неустановленные, вам тогда нужно установить более старую, определенную версию IPython. Я использовал 2.4, и он работал как шарм.

$ pip install -Iv ipython==2.4.0 

Возможно, есть способы обойти удаление и переустановку, но это сделало это для меня. Больше нет проблем с IdleX.

0

У меня была такая же проблема с Python 3.4.3 на Mac OS X и 10.10.5. Я также пробовал iPython3.0 и iPython3.1, но только с 2.4 все работало. Небольшая поправка: Вам нужно ввести (2x ==) $ pip install -Iv ipython==2.4.0

Спасибо за это решение.