回溯错误:是否需要在特定位置安装idlex?

时间:2014-10-22 16:09:43

标签: python python-2.7 ide

我正在运行Python-2.7.8.AMD64并根据朋友的建议安装了idlex。

当我使用快捷方式启动idlex时,会弹出一个带有Traceback的Dos框,如附带的代码框中所示。

idlex.py - Shortcut

Traceback (most recent call last):
  File "C:\downloads\python\idlex-1.12\idlexlib\extensionManager.py", line 131,
in load_extension
    mod = importlib.import_module('.' + fullname, package=__package__)
  File "C:\Python27\lib\importlib\__init__.py", line 37, in import_module
    __import__(name)
  File "C:\downloads\python\idlex-1.12\idlexlib\extensions\IPyIDLE.py", line 253
, in <module>
    class IdleXSubSocketChannel(SimpleChannel, channels.IOPubChannel):
NameError: name 'channels' is not defined
could not load IPyIDLE

我不确定这意味着什么。

idlex按预期运行,没有明显的错误,我可以确定。

是否需要在与Python相关的特定位置安装idlex以消除此错误? (即在Lib的python文件夹中?)

谢谢。

1 个答案:

答案 0 :(得分:3)

看起来你错过了IPython。

您可以使用pip install ipythoneasy_install ipython,如果您需要帮助,请参阅here

错误是一个NameError,表示它没有变量channels的定义,该变量由依赖于&#34; idlex-1.12 / idlex1.12 /中的IPython的导入调用idlexlib /扩展/ IPyIDLE.py &#34;:

if HAS_IPYTHON:
# IPython
...
import IPython.kernel.channels as channels
...

错误发生的地方是文件的下方:

class IdleXSubSocketChannel(SimpleChannel, channels.IOPubChannel):
     channel_name = 'sub'

一旦您安装了IPython,就会解决该错误,但是在此之后您将遇到另一个错误(如果您有基本安装):

ImportError: IPython.kernel.zmq requires pyzmq >= 2.1.11

可以通过pip install pyzmqeasy_install pyzmq解决哪些问题,并且一旦您完成了IdleX就应该运行而不会向您抛出错误。