获取IdleX AttributeError

时间:2015-02-11 13:50:49

标签: 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

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

2 个答案:

答案 0 :(得分:1)

经过温和的搜索后,我发现问题是由最新版本的IPython引起的,该版本删除了所需的“频道”包。

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

$ pip uninstall ipython

接受并卸载后,您需要安装较旧的特定版本的IPython。我使用2.4,它就像一个魅力。

$ pip install -Iv ipython==2.4.0

可能有办法绕过卸载和重新安装,但这样做对我来说。没有IdleX的问题。

答案 1 :(得分:0)

我在Mac OS X和10.10.5上遇到了与Python 3.4.3相同的问题。 我也尝试过iPython3.0和iPython3.1,但只有2.4一切正常。 一个小小的修正: 你需要输入(2x ==)     $ pip install -Iv ipython==2.4.0

感谢您提供此解决方案。