On Jeudi 23 Juin 2005 17:31, Frédéric wrote:
> > Pour m'amuser, j'ai essayé. Le script n'est pas exécutable (install
> > par défaut sur RHAS). Même en mettant un sh devant, cela ne fonctionne
> > pas. J'ai lancé l'interpréteur python et dedans, il ne trouve pas
> > py_compile...
>
> Ce script est là pour python lui-même ; je ne crois pas qu'il ait
> vocation à être utilisé de façon systématique. En principe, c'est
> l'option -O. Sinon :
>
> $ python /usr/lib/pythonX.X/py_compile.py <script>
Bon, le script dont je t'ai parlé n'est pas celui qu'il faut utiliser.
Voici le script de post-install de python qui pré-compile ses modules.
Vue la date du script, cette façon de faire n'a pas changée depuis 1998 !
#! /bin/sh -e
#
# postinst script for the Debian python2.3-base package.
# Written 1998 by Gregor Hoffleit <flight@???>.
#
PACKAGE=`basename $0 .postinst`
DIRLIST="/usr/lib/python2.3"
# remove unconditionally
update-alternatives --remove python /usr/bin/python2.3 || true
case "$1" in
configure|abort-upgrade|abort-remove|abort-deconfigure)
for i in $DIRLIST ; do
if [ "$DEBIAN_FRONTEND" != noninteractive ]; then
echo "Compiling python modules in $i ..."
fi
/usr/bin/python2.3 /usr/lib/python2.3/compileall.py -q $i
if [ "$DEBIAN_FRONTEND" != noninteractive ]; then
echo "Compiling optimized python modules in $i ..."
fi
/usr/bin/python2.3 -O /usr/lib/python2.3/compileall.py -q $i
done
# Create empty directories in /usr/local
if [ ! -e /usr/local/lib/python2.3 ]; then
mkdir -p /usr/local/lib/python2.3 2> /dev/null || true
chmod 2775 /usr/local/lib/python2.3 2> /dev/null || true
chown root:staff /usr/local/lib/python2.3 2> /dev/null || true
fi
if [ ! -e /usr/local/lib/python2.3/site-packages ]; then
mkdir -p /usr/local/lib/python2.3/site-packages 2> /dev/null || true
chmod 2775 /usr/local/lib/python2.3/site-packages 2> /dev/null || true
chown root:staff /usr/local/lib/python2.3/site-packages 2> /dev/null || true
fi
# Install a symlink for /usr/doc/python2.3
##if [ -d /usr/doc -a ! -e /usr/doc/python2.3 -a -d /usr/share/doc/python2.3 ]; then
## ln -sf ../share/doc/python2.3 /usr/doc/python2.3
##fi
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
--
Frédéric
http://www.gbiloba.org