[Distutils] [Python-Dev] The Breaking of distutils and PyPI for Python 3000?
"Martin v. Löwis"
martin at v.loewis.de
Thu Mar 20 12:37:32 CET 2008
> "... encouraged in __3.x guidelines__ to ...": I presume although I've not
> found them yet that there is some kind of document for developers titled
> something like, "how to migrate your Python code from 2.x to 3.x". That
> document would be a logical place for advice and consideration of the
> tradeoffs of jumping to 3.x, maintaining two synced versions using 2to3 or
> 3to2, and the risks of keeping two independent releases. Identifying best
> practices would help them make good choices for the community.
I don't think any of the core committers is qualified to write such
a document. Instead, it would have to be written by people who
*actually* ported a project from 2 to 3 in some form.
That is not to say that such a document couldn't be part of the 3k
release, or shouldn't be reviewed by core committers.
[Also, it might turn out that some of the core committers writes such
a document, with the theoretical background of what *could* work
for projects. That would be a lot like all those books giving advise
written by people who never followed their own advise because they
never had a chance to].
> So we don't have an actual success story of a dual-version distribution, even
> as a prototype, using 2to3 within a distutils package? I would not encourage
> a practice without at least one such example.
We don't have any success story for Python 3, period. Nobody has ever
attempted to run a significant code base in Python 3, other than the
test suite, AFAIK.
>> It always worked fine for me, so I see no reason to fix it in the
>> first place.
> Pardon my lack of knowledge of your background; when you say it always worked
> fine for you, are you referring to personal experiences using it to _install_
> software or to experiences as a packager in actually distributing complex
> collections of modules on different platforms?
I've been maintaining a larger project (PyXML) for several years, and
have written/maintained a few smaller projects (iconv, partial,
python-fam), which all used distutils. I have also extended distutils
in the core, with the upload and bdist_msi commands. And then
there is the experience with installing distutils-based packages,
which is usually pleasant (although I prefer to use the Debian
package where available)
More information about the Distutils-SIG