[Python-Dev] versioned .so files for Python 3.2 (original) (raw)

Scott Dial scott+python-dev at scottdial.com
Thu Jul 1 13:02:25 CEST 2010


On 6/30/2010 2:53 PM, Barry Warsaw wrote:

It might be amazing, but it's still a significant overhead. As I've described, multiply that by all the py files in all the distro packages containing Python source code, and then still try to fit it on a CDROM.

I decided to prove to myself that it was not a significant issue to have parallel directory structures in a .tar.bz2, and I was surprised to find it much worse at that then I had imagined. For example,

cd /usr/lib/python2.6/site-packages

tar --exclude=".pyc" --exclude=".pyo" \

  -cjf mercurial.tar.bz2 mercurial

du -h mercurial.tar.bz2

640K mercurial.tar.bz2

cp -a mercurial mercurial2

tar --exclude=".pyc" --exclude=".pyo" \

  -cjf mercurial2.tar.bz2 mercurial mercurial2

du -h mercurial.tar.bz2

1.3M mercurial2.tar.bz2

So, I was definitely wrong in saying that you do better than doubling.

What happens to the distro packaging if a python package splits the codebase between 2.x and 3.x (meaning they have distinct .py files)? The Debian/Ubuntu approach to Python 2/3 support is to provide them in separate distro packages. E.g. for Python package foo, you would have Debuntu package python-foo (for the Python 2.x version) and python3-foo. We do not share source between Python 2 and 3 versions, at least not yet .

I had asked this question to point out that you will still need to accommodate some form of version-specific packages (I am not a debuntu expert by any means). And, I think your response is an acknowledgment of that fact, however it's certainly true that there are few examples, as you said.

I appreciate all your replies. I am not sure a PEP is really needed here, but to having had all of this discussed and explained on the mailing list is certainly useful. I trust that yourself and the debuntu python group will end up chasing down and taking care of any quirks that this change might cause, so I am not worried about it. :D

-- Scott Dial scott at scottdial.com scodial at cs.indiana.edu



More information about the Python-Dev mailing list