[Distutils] Hello all :)
Vinay Sajip
vinay_sajip at yahoo.co.uk
Fri Mar 4 16:04:44 CET 2011
James Mills <prologic <at> shortcircuit.net.au> writes:
> Hi, I'm James Mills.
> Very interested in how packaging and installation
> is going wrt Python 3.
>
> I re-ported pip to Python 3 (1) but it doesn't seem to
> be very useful in general as other folks want to remain
> backwards and forward compatible with a single codebase.
>
Hi James,
I just joined this list myself, as I have recently become actively interested in
pip, virtualenv and running them on py3k. I've also recently forked pip to make
a Py3K port (as an experiment) and am making what seems like good progress. From
my post to the virtualenv list:
A pip Py3k port needs to work with a virtualenv Py3k port. A
common codebase should IMO be maintained for Python 3.x and 2.x. My
experiments seem to indicate that this is feasible. An experimental
port of pip, virtualenv and virtualenvwrapper to Py3k is showing
promise.
Forks are here and only a few days old, so up to date:
https://bitbucket.org/vinay.sajip/virtualenv
https://bitbucket.org/vinay.sajip/virtualenvwrapper
With the above, I can create virtualenvs using either Python 3.2 or Python 2.7.1
(other versions not tested yet).
My pip fork is at
https://bitbucket.org/vinay.sajip/pip
and my pip changes are not yet public (still doing tests), but results are
encouraging. The aim for all Py3k porting that I do is to have a single code
base for 2.x and 3.x - which seems perfectly feasible for pip, virtualenv and
virtualenvwrapper. I've posted test results in this gist:
https://gist.github.com/852552
which can be summarised as
Vanilla pip trunk - tests with Python 2.7.1 - 102 run, 4 failures
Ported pip trunk - tests with Python 2.7.1 - 102 run, 3 failures
Ported pip trunk - tests with Python 3.2 - 101 run, 12 failures
All tests are with my virtualenv fork on a Ubuntu machine.
One issue which came up for me is that distutils-0.6.14 does not work with
Python 3.2, because of the abiflags configuration parameter which is new with
Python 3.2. I got around this using a tarball created from distribute trunk
("distribute-0.6.15dev.tar.gz") which I use with my virtualenv port.
Did you come across this issue? Are you using virtualenv3 with your pip fork?
How are your test results looking?
I think a single codebase for 2.x and 3.x is the way to go here - anything else
will be too much of a pain to keep in sync. So far, I see no reasons why this
should not be feasible.
I'm waiting for Ian Bicking's comments: I made a pull request on my virtualenv
changes (which are IMO uncontroversial) but I guess he might be busy, what with
PyCon being next week.
If one of the distribute devs could give some idea on this list of when a
distribute-0.6.15 might be produced, that would be good. I can then use the
official distribute-0.6.15.tar.gz :-)
All in all, this porting exercise has not been as hard as I feared! I must be
missing something.
Regards,
Vinay Sajip
More information about the Distutils-SIG
mailing list