Aaron Meurer <[email protected]> writes: > I'm sending this email to the lists of three projects that I am > involved with that have this issue. Please reply-all to all the lists > you are on. Feel free to add in any other lists that have the same > issue. > > As many of you may know, SymPy recently converted its codebase to a > single code base for Python 2 and Python 3. This, along with some of > the work I've done at Continuum with the conda package manager this > summer, has gotten me thinking about how we treat Python 3 when we > install our software. > > In particular, we tend to install entry points that have a 3 suffix. > So for example, IPython installs ipython3. PuDB installs pudb3 (this > one was entirely my contribution, but I didn't know any better at the > time). SymPy is considering installing an isympy3. > > I think this is bad for anyone who wants to use Python 3, because if > they install IPython (for example), they won't get "ipython", but > rather "ipython3". This makes Python 3, and anything installed in it, > a second class citizen, because the default "ipython" is always > pointing to Python 2. > > Now, the reason that this was done is that the typical installation > uses a shared bin directory (generally /usr/bin/), so if you wanted to > install both Python 2 and Python 3 versions of the software, the entry > point in bin would be whatever was installed most recently. > > If you use something like conda environments or virtualenvs, this > issue doesn't present itself, because you can only have one Python > installed in an environment at a time. In that situation, it is really > annoying to install IPython and not have "ipython" (it can also be > confusing, because if you prepend the environment to your PATH, typing > "ipython" will still point to some other Python 2 IPython installed > somewhere else). It's also annoying if you want to use only Python 3. > > So I'm wondering what people think we should do about this. I > definitely think that it should be possible to install "ipython", > "pudb", and "isympy" entry points that point to Python 3. But should > that be the default? Should we keep the 3 suffixed versions for > backwards compatibility?
To me the guiding principle should be what the system python is. If 'python' gets you Python 3, then pudb should get you a Py3 pudb. Of course this is hard to detect, so for the time being I'm ok with the defaults as they are, as they'll be correct for the vast majority of systems. Andreas
pgpZeWDHxy5nD.pgp
Description: PGP signature
_______________________________________________ Pudb mailing list [email protected] http://lists.tiker.net/listinfo/pudb
