我正在运行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文件夹中?)
谢谢。
答案 0 :(得分:3)
看起来你错过了IPython。
您可以使用pip install ipython
或easy_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 pyzmq
或easy_install pyzmq
解决哪些问题,并且一旦您完成了IdleX就应该运行而不会向您抛出错误。