[IPython-dev] [sympy] Treating Python 3 as a first-class citizen

Thomas Kluyver takowl at gmail.com
Mon Aug 5 06:04:16 EDT 2013

On 5 August 2013 06:51, Matthias Bussonnier <bussonniermatthias at gmail.com>wrote:

> For what it is worth, I've already came into question on stackoverflow
> where ipython was launching python3 and ipython2 was use to launch
> ipython+python2.x.

I'm guessing that would be Arch? They have the 'python' symlink pointing to
Python 3, and a separate python2 executable.

> The standard way that Python is installed in Debian/Ubuntu is that
> you have python3.2, python2.7, python2.6, python2.5, ..., and then you
> "python", which is just a symlink, on my system it is:

And a 'python3' symlink. On Debian based systems, the plan is to keep
'python' pointing to the latest Python 2 version ~forever, and python3 is
being treated as a wholly separate thing.

> As such, I think the "setup.py" install should simply install just one
> ipython (or isympy, pudb),

I think it's valuable to be able to start ipython for Python 3 or Python 2
on the same system without having to specify paths or activate some kind of
environment. Fixing the names to 'ipython' and 'ipython3' admittedly isn't
ideal, but it's simple and mostly seems to work well.

I think the biggest practical issue is that a Python 3 environment where
you can start Python 3 with 'python' still gets 'ipython3' rather than
'ipython'. We could solve that by checking at installation whether
sys.executable matches 'python(\d)', and copying the trailing digit. But
that could also lead to confusion if you have a Python 3 environment with
'ipython' inside the environment and 'ipython3' outside it on the system
(but still on PATH).

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20130805/6e0259db/attachment.html>

More information about the IPython-dev mailing list