Cygwin/Python: Gleicher PYTHONPATH für Windows und Cygwin
Verfasst: Freitag 5. November 2004, 12:31
Ich habe das Problem, dass ich eigene Module sowohl unter PyWin als auch in der Cygwin-Umgebung nutzen will. Eine Umgebungsvariable mit Windows-Pfaden wird unter Cygwin nicht richtig interpretiert. Folgendes Shell-Script löst das Problem elegant:
Shell-Script nach /etc/profile.d/ kopieren. Es transformiert alle Pfade der Form C:\daten\pylib nach /cygdrive/c/daten/pylib. Der globale PYTHONPATH kann unter Systemsteuerung->System->Erweiter->Umgebungsvariablen gesetzt werden.
Gruss, Andy
Code: Alles auswählen
#!/bin/sh
# transforms PYTHONPATH windows enviroment variable into cygwin UNIX paths
if test -n "$PYTHONPATH"; then
case "$PYTHONPATH" in
?:\\*|*\;*)
old_pythonpath="$PYTHONPATH"
PYTHONPATH=''
old_ifs="$IFS"
IFS=';'
for pypath in $old_pythonpath; do
case "$pypath" in
?:\\*)
drive=`echo "${pypath}" | head -c 1`
;;
\\*)
# just guess
drive='c'
;;
*)
continue
;;
esac
drive=`echo $drive | tr "A-Z" "a-z"`
newpath=`echo "$pypath" \
| sed -e "y#\\\\\\#/#
s#^${drive}:#/cygdrive/${drive}#i"`
if test -z "$PYTHONPATH"; then
PYTHONPATH="$newpath"
else
PYTHONPATH="${PYTHONPATH}:${newpath}"
fi
done
IFS="$old_ifs"
export PYTHONPATH
;;
esac
fi
Gruss, Andy