获取IdleX AttributeError

Ben*_*ist 5 python

在Ubuntu 12.04上运行Python 2.7.3,安装了最新版本的IPython.我安装了IdleX,但是一旦运行它,我就会收到错误:

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
Run Code Online (Sandbox Code Playgroud)

起初我以为我可以忽略它,因为一切似乎都运行良好,但后来我尝试了一些在IdleX中导致错误的脚本,但不是在常规空闲中.具体来说,from selenium import webdriver在常规空闲时工作正常但在IdleX中没有.无法弄清楚我做错了什么,怎么办......

小智 1

经过一番搜索,我发现问题是由最新版本的 IPython 引起的,它删除了所需的“channels”包。

您需要首先卸载您的 IPython 版本。通过发出以下命令可以轻松完成此操作:

$ pip uninstall ipython
Run Code Online (Sandbox Code Playgroud)

接受并卸载后,您需要安装旧的特定版本的 IPython。我用的是 2.4,它的效果非常好。

$ pip install -Iv ipython==2.4.0
Run Code Online (Sandbox Code Playgroud)

可能有一些方法可以解决卸载和重新安装的问题,但这对我来说是可行的。IdleX 不再有问题。