chshrkt
chshrkt

Reputation: 23

Traceback error: Does idlex need to be installed in a particular location?

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

Answers (1)

signus
signus

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

Related Questions