Bonjour à tous,
Je suis nouveau sur ce forum et je viens pour essayer de trouver des réponses à une problématique face à laquelle je me trouve actuellement dans le gestion de multiples version de Python dans un même environnement.
Je travaille sur une Debian Squeeze 6.0.7 (dernière version stable donc ou peu s'en faut).
Cette distribution possède un python système en version 2.6, et pour des raisons qui me sont propres, je dois travailler sur un projet en python 2.7. J'ai pu lire ça et là qu'il était déconseillé d'essayer de changer la version "système" de python car la distrib en deviendrait instable.
Je me suis donc fixé comme objectif de créer un environnement virtuel avec virtualenv pour mon python2.7, ce qui m'a l'air très adapté à la situation, mais comme je créée mon environnement et commence à vouloir installer des modules divers (en fait, plus exactement "lxml" et "m2crypto") je me trouve face à un problème de compréhension global de l'éco-système python que j'espère pouvoir combler grâce à vous.
Globalement, je ne parviens pas vraiment à distinguer quels composants de ces éco-systèmes sont dépendants des versions de python et lesquels ne le sont pas. Je constate par exemple qu'une version de setuptools existe par version de python (paquets python2.6-setuptools et python2.7-setuptools distincts) or je ne vois pas en quoi une modification de l'interpréteur devrait modifier son gestionnaire de paquet. Au pire, si des différences devaient apparaitre, pourquoi setuptools ne pourrait évoluer pour inclure les nouvelles fonctions nécessaire et ne maintenir qu'une seule version comme un programme normal ? Je dois dire que c'est assez troublant pour quelqu'un de rationnel comme moi.
Mais au delà de cette question, mon véritable problème est le suivant :
Les modules "lxml" et "m2crypto" que j'essaye d'installer dependent eux de bibliothèques C (libxml2 et libcrypto entre autre), et je ne parviens pas à l'installer à cause de cela. Voici mes questions :
- Ces bibliothèques C doivent-elle se trouver dans une version particulière en fonction de la version de python utilisée ? Si oui, comment savoir laquelle ?
- Si j'installe ces bibliothèques dans l'environnement système normal, seront-elles accessible depuis l'environnement virtualisé de virtualenv ?
- Si non, comment installé une bibliothèque C spécifiquement pour mon environnement virtualisé, cela incluant l'installation des headers (Python.c) requis pour l'installation ?
Voilà, le but final étant de pouvoir utiliser les modules "lxml" et "m2crypto" dans python2.7, dans une environnement virtualenv, sur une système possédant python2.6 comme python par défaut.
En vous remerciant par avance pour toute contribution que vous apportez à mon problème,
Partager