IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Déploiement/Installation Python Discussion :

Installation de Python 3000 sous Debian


Sujet :

Déploiement/Installation Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    consultant
    Inscrit en
    Novembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : consultant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5
    Points : 12
    Points
    12
    Par défaut Installation de Python 3000 sous Debian
    Bonjour,

    voici un partage d'experience sur l'installation de Python sous Debian (Lenny dans mon cas, aujourd'hui au niveau "testing"). En effet python3.0.final ne s'installe pas correctement sans quelques librairies indispensables et patchs.

    Tout d'abord le paquetage de python3.0 en Lenny n'existe pas encore, il faut donc utiliser le "tarball". Les dépendances et les défauts de jeunesses ne sont pas prises en compte, c'est l'objet de cette procédure de vous aider à corriger cette situation en attendant le paquetage.

    Si vous ne désirez pas déstabiliser votre système ou perdre la gestion cohérente des dépendances et des paquetages je vous conseille l'installation parallèle à la version courante de la Lenny (2.5), dite "altinstall". Pourquoi ?
    Retenez que la 3.0 ne fournit pas de compatibilitée ascendante, voir les nouveautés sur le site de python.

    1/ Les principales librairies à installer sur la base d'une Debian faiblement équipée pour le développement. Utiliser un outil comme "apt-get install <paquetage>" ou similaire : tcl8.4-dev tk8.4-dev libreadline5-dev libssl-dev
    libbz2-dev libsqlite3-dev libgdbm-dev

    2/ Récupérer le tarball "Python-3.0.tar.bz2" et deux patchs indispensables respectivement pour la gestion des base "dbm" et une correction du setup.py sur les droits d'installations des librairies dynamiques : dbm.diff, setup_chmod.patch

    N.B : un exemple de script en bash permet d'automatiser les étapes suivantes.

    3/ Créer un répertoire temporaire, par exemple "/install" placer le tarball et les patchs. Détarrer le tarball "tar -xjf Python-3.0.tar.bz2". Vous trouverez dans "/python-3.0/README" les instructions d'installations (sans patch et en anglais)

    4/ Aller dans le répertoire "Python-3.0" créé et appliquer les patchs :
    "cd Python-3.0 ; patch -p0 < ../dbm.diff ; patch -p0 < ../setup_chmod.patch"

    5/ Lancer le contrôle et la configuration avec les options proposées pour couvrir la plupart des besoins : "configure --with-doc-strings --enable-shared --enable-profiling --enable-ipv6 --with-threads --with-tsc --prefix=/usr". Vous remarquerez la surcharge du prefix indispensable à une installation conforme au standard Debian.

    6/ Enfin les étapes classiques réunis en un seul paquet "make ; make test ; make altinstall". A noter :
    - "make test" est optionnel mais vous permet de vérifier si certains modules ne peuvent être utilisés faute de librairies manquantes. Le test est très long, à titre estimatif il dure 10x les étapes précédentes.
    - "make altinstall" permet l'installation de python-3.0 dans /usr/lib/python3.0, sans perturber /usr/lib/python2.5 existant.

    7/ Il ne reste plus qu'à lançer python-3.0 par "python3.0". Ci-dessous un script qui renseigne les variables d'environnement pour faciliter l'exécution de python dans tous les cas :
    #! /bin/bash
    #### Launch Python 3000 ####
    # the default search path for module files
    export PYTHONPATH=/usr/lib/python3.0:~/python:/usr/lib/python3.0/lib-dynload:/usr/lib/python30.zip
    # the location of the standard Python libraries
    export PYTHONHOME=/usr/lib/python3.0
    #the time module to require dates specified as strings to include 4-digit years
    export PYTHONY2K=YES
    # Turn on parser debugging output
    #export PYTHONDEBUG=YES
    # Print a message each time a module is initialized,
    #showing the place (filename or built-in module) from which it is loaded
    PYTHONVERBOSE=YES
    /usr/bin/python3.0 $@
    #fin

    8/ N'hésitez pas à consulter la documentation pour en découvrir tous les usages sur le site officiel, les mises à jour sont très fréquentes.

    Si cela ne suffisait pas, outre cet excellent forum dans la langue de Molière, vous pouvez utiliser sur irc.freenode.net, le canal python francophone #python-fr
    Après ça vous n'aurez plus d'excuses pour ne pas vous mettre au Python 3000 sur votre Debian !

    Enfin le script d'installation automatisé promis :
    #! /bin/bash
    # Compilation -> installation de python3.x

    # Fichiers et repertoires pour la compilation
    BASE=/install
    BASELOG=$BASE/LOG
    PATCH="dbm.diff setup_chmod.patch"

    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:.
    LANG=en_GB.UTF-8
    HOME=/root

    echo "Purge de l'existant"
    rm -fr /usr/lib/python3.0
    rm -fr $BASE/Python-3.0

    echo "Preparation et application des patchs"
    mkdir -p $BASELOG
    cd $BASE
    tar -xjf Python-3.0.tar.bz2
    cd $BASE/Python-3.0
    for p in $PATCH
    do
    patch -p0 < $BASE/$p
    done

    echo "Configure"
    configure --with-doc-strings --enable-shared --enable-profiling --enable-ipv6 --with-threads --with-tsc --prefix=/usr

    echo "make"
    make > $BASELOG/make.log 2>&1

    echo "installation"
    make install > $BASELOG/install.log 2>&1

    echo "test"
    make test >$BASELOG/test.log

    echo "python3.0 : fini !"
    #############################################

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 56
    Points : 42
    Points
    42
    Par défaut thx
    Très bon tuto, merci beaucoup!

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 56
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par legerf Voir le message
    5/ Lancer le contrôle et la configuration avec les options proposées pour couvrir la plupart des besoins : "configure --with-doc-strings --enable-shared --enable-profiling --enable-ipv6 --with-threads --with-tsc --prefix=/usr". Vous remarquerez la surcharge du prefix indispensable à une installation conforme au standard Debian.
    Juste une remarque: je conseillerais de désactiver l'option -pg de gcc (c.-à-d. le profiling), sinon on se retrouve avec un stupide fichier "gmon.out" à chaque fois qu'on lance python.

Discussions similaires

  1. Installation carte Wifi Pci sous debian
    Par keishah dans le forum Matériel
    Réponses: 4
    Dernier message: 24/08/2008, 16h39
  2. Installer Winrar 3.71 sous Debian 4
    Par hoangeric dans le forum Debian
    Réponses: 8
    Dernier message: 03/07/2008, 18h08
  3. Installation par clef usb sous debian
    Par troumad dans le forum Debian
    Réponses: 3
    Dernier message: 16/03/2006, 20h49
  4. [Install] Problème de lancement sous debian sid
    Par SoaR245 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 18/02/2004, 10h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo