Reputation: 23
I am running Python-2.7.8.AMD64 and installed idlex at the suggestion of a friend.
When I fire up idlex using a shortcut, a Dos box pops up with a Traceback as indicated in the attached codebox.
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
I am not sure what this means.
idlex runs as expected with no obvious errors that I can determine.
Does idlex need to be installed in a particular location in relation to Python to eliminate this error? (i.e. in the python folder in Lib?)
Thank you.
Upvotes: 2
Views: 1706
Reputation: 1148
It looks like you're missing IPython.
You may do either a pip install ipython
or easy_install ipython
, refer to here if you need help with that.
The error is a NameError saying that it does not have a definition for the variable channels
which is called by the import that relies on IPython in "idlex-1.12/idlex1.12/idlexlib/extension/IPyIDLE.py":
if HAS_IPYTHON:
# IPython
...
import IPython.kernel.channels as channels
...
Where the error occurs is further down the file:
class IdleXSubSocketChannel(SimpleChannel, channels.IOPubChannel):
channel_name = 'sub'
Once you've got IPython install that error is resolved, however you'll run into another error following that (if you have a base install):
ImportError: IPython.kernel.zmq requires pyzmq >= 2.1.11
Which can be resolved by either pip install pyzmq
or easy_install pyzmq
, and once you've done that IdleX should run without throwing errors at you.
Upvotes: 3