From Fedora Project Wiki

Revision as of 22:04, 23 October 2009 by Dmalcolm (talk | contribs) (initial page creation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Packaging Python modules for Python 3

I hope to add a parallel-installable Python 3 stack to Fedora 13.

See the feature page: https://fedoraproject.org/wiki/Features/Python3F13 and also this thread: https://www.redhat.com/archives/fedora-devel-list/2009-October/msg00054.html

This requires us to come up with a sane way to package Python 3 modules.

Naming

(to be written)

Layout

All .py/.pyo/.pyc files need to be below

 /usr/lib/python$MAJOR-$MINOR/site-packages

for example, below:

 /usr/lib/python3.1/site-packages

.pyo/.pyc files

Compiled .pyo/.pyc files embed a magic number, indicating which python version they are for; python libraries have a corresponding magic number.

Proposal rule: All .pyo/.pyc files below /usr/lib/python$MAJOR.$MINOR must have a magic number corresponding to that for /usr/bin/python$MAJOR.$MINOR

Thus e.g.

 /usr/lib/python2.6/site-packages/libxml2.pyc

must have the same magic number as that of

 /usr/bin/python2.6

Similarly,

 /usr/lib/python3.1/site-packages/libxml2.pyc

must have the same magic number as that of

 /usr/bin/python3.1