Opened 5 years ago

Closed 5 years ago

#30702 closed defect (fixed)

py27-ipython: No module named Shell

Reported by: njbutko@… Owned by: akitada@…
Priority: Normal Milestone:
Component: ports Version: 2.0.1
Keywords: Cc:
Port: py27-ipython

Description

I recently installed py27-ipython. On starting it, I receive the following error:

$ /opt/local/bin/ipython-2.7
Traceback (most recent call last):
  File "/opt/local/bin/ipython-2.7", line 27, in <module>
    import IPython.Shell
ImportError: No module named Shell

Googling, I found: https://github.com/ipython/ipython/issues/286

This suggests that the ipython-2.7 script itself is out of date.

Replacing

import IPython.Shell
IPython.Shell.start().mainloop()

with

import IPython
IPython.embed()

in /opt/local/bin/ipython-2.7 seems to fix the problem, and give a normal ipython shell.

Change History (3)

comment:1 Changed 5 years ago by ryandesign (Ryan Schmidt)

  • Owner changed from macports-tickets@… to akitada@…
  • Port py27-ipython added
  • Summary changed from ipython-2.7 gives runtime error: No module named Shell to py27-ipython: No module named Shell

I wonder if py26-ipython, py25-ipython and py-ipython are also affected.

comment:2 Changed 5 years ago by njbutko@…

So I think this is the wrong fix. The correct script should read:

__requires__ = 'ipython==0.11.dev'
import sys
from pkg_resources import load_entry_point

sys.exit(
       load_entry_point('ipython==0.11.dev', 'console_scripts', 'ipython')()
    )

This allows for correct parsing of command line arguments, including the new "qtconsole" argument, which works great!

The above comes from the ipython script you get via easy_install.

comment:3 Changed 5 years ago by jmroot (Joshua Root)

  • Resolution set to fixed
  • Status changed from new to closed

The port was updated to 0.11 in r83528.

Note: See TracTickets for help on using tickets.