[Distutils] Looking for portable what to determine directory where extensions are installed?
Tres Seaver
tseaver at palladion.com
Wed Nov 11 19:34:50 CET 2009
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Toshio Kuratomi wrote:
> On Wed, Nov 11, 2009 at 09:46:25AM -0800, Tom Epperly wrote:
>> I thought distutils.sysconfig.get_python_lib() might be helpful, but it
>> returns "/usr/lib/python2.6/site-packages" even on the system where
>> "/usr/lib64/python2.6/site-packages" is the right answer.
>>
> You're on the right track here. You just need one more piece of
> information:
>
> distutils.sysconfig.get_python_lib() will return the path where pure python
> extensions get installed.
>
> distutils.sysconfig.get_python_lib(1) will return the path where compiled
> extensions get installed.
On my x86_64 Ubuntu box::
$ uname -a
Linux mred 2.6.27-15-generic #1 SMP Tue Oct 20 06:50:36 UTC 2009 \
x86_64 GNU/Linux
$ which python
/usr/bin/python
$ python -c "from distutils.sysconfig import get_python_lib; print
get_python_lib(); print get_python_lib(1); print get_python_lib(0, 1);
print get_python_lib(1, 1)"
/usr/lib/python2.5/site-packages
/usr/lib/python2.5/site-packages
/usr/lib/python2.5
/usr/lib/python2.5
which is indeed the right answer::
$ ls -laF /usr/lib/python2.5
total 7292
drwxr-xr-x 22 root root 20480 2009-04-29 15:44 ./
drwxr-xr-x 196 root root 77824 2009-10-25 21:41 ../
-rw-r--r-- 1 root root 33417 2008-10-05 16:59 aifc.py
...
even though it is the same answer on my 32-bit box::
$ uname -a
Linux scout 2.6.28-16-generic #55-Ubuntu SMP Tue Oct 20 19:48:24 UTC \
2009 i686 GNU/Linux
$ which python
/usr/bin/python
$ python -c "from distutils.sysconfig import get_python_lib; print
get_python_lib(); print get_python_lib(1); print get_python_lib(0, 1);
print get_python_lib(1, 1)"
/usr/lib/python2.6/dist-packages
/usr/lib/python2.6/dist-packages
/usr/lib/python2.6
/usr/lib/python2.6
$ ls -laF /usr/lib/python2.6
total 8424
drwxr-xr-x 23 root root 20480 2009-04-20 10:00 ./
drwxr-xr-x 230 root root 69632 2009-11-11 12:07 ../
-rw-r--r-- 1 root root 13625 2009-04-18 22:43 _abcoll.py
...
On a FreeBSD box:
$ uname -a
FreeBSD zap20 7.1-RELEASE FreeBSD 7.1-RELEASE #0: Thu Jan 1 08:58:24 \
UTC 2009 \
root at driscoll.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
$ which python
/usr/local/bin//python
$ python -c "from distutils.sysconfig import get_python_lib; print
get_python_lib(); print get_python_lib(1); print get_python_lib(0, 1);
print get_python_lib(1, 1)"
/usr/local/lib/python2.5/site-packages
/usr/local/lib/python2.5/site-packages
/usr/local/lib/python2.5
/usr/local/lib/python2.5
I don't have access to a 64-bit box where the right answer would be
'/usr/lib64/python2.x'.
Tres.
- --
===================================================================
Tres Seaver +1 540-429-0999 tseaver at palladion.com
Palladion Software "Excellence by Design" http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAkr7A8UACgkQ+gerLs4ltQ5HcACdG8r2/LoOVhUFeaC15ZjY/VPq
qiEAoNNWpUR9tROkBhFSKVlFdMlEto0A
=Fu69
-----END PGP SIGNATURE-----
More information about the Distutils-SIG
mailing list