python.sh: support de ipython

Exemple:
/localhome/dstan/scripts/python.sh ipython

Lance ipython avec toutes les variables de test comme il faut (et le PATH
qu'il faut)
This commit is contained in:
Daniel STAN 2014-11-09 14:52:24 +01:00
parent c60a2589a3
commit bea06f390a

19
python.sh Normal file → Executable file
View file

@ -1,10 +1,20 @@
#!/bin/bash
# À lancer par bash dans un shabang de la forme :
#!/bin/bash /usr/scripts/python.sh
#Ceci permet alors de lancer python avec un PYTHONPATH custom (/usr/scripts)
#pour éviter de l'importer dans chaque script
CPATH=/usr/scripts
readlink -e $1 | grep "^/usr/scripts/" -q || {
f=`readlink -e $1`
export CPATH=/usr/scripts
BIN=python
if [ "$1" = ipython ]; then
BIN=ipython
shift 1
fi
SCRIPT=$1
if [ -z "$SCRIPT" ]; then
SCRIPT=$0
fi
readlink -e $SCRIPT | grep "^/usr/scripts/" -q || {
f=`readlink -e $SCRIPT`
p=`dirname "$f"`
while [ "$p" != "/" ]; do
if [ -f "$p/CRANS_SCRIPTS_ROOT" ]; then
@ -14,10 +24,11 @@ readlink -e $1 | grep "^/usr/scripts/" -q || {
p=`dirname "$p"`
done;
echo "Dépôt custom. PYTHONPATH: $CPATH"
export CPATH
test -f $CPATH/testing.sh && . $CPATH/testing.sh
}
for i in $CPATH/lib/python2.7/site-packages/*.egg; do
CPATH=$CPATH:$i
done
CPATH=$CPATH:/usr/scripts/lib/python2.7/site-packages/
/usr/bin/env PYTHONPATH=$CPATH python "$@"
/usr/bin/env PYTHONPATH=$CPATH $BIN "$@"