Page 1 sur 2

[Python 2.7 + 2.6] Installer plusieurs versions ? (résolu)

Publié : jeu. 24 mars 2011, 19:55
par Archimage
Bonjour,

Pour utiliser blender 2.49 j'ai besoin d'utiliser python 2.6, or aujourd'hui on se situe à python 2.7.

Comment faire pour les installer ensemble ? et utiliser les deux ?

Merci !

Re: [Python 2.7 + 2.6] Installer plusieurs versions ? (en co

Publié : jeu. 24 mars 2011, 20:19
par benjarobin
Tu as ce paquet : http://aur.archlinux.org/packages.php?ID=39099
Qui ne demande pas spécifiquement python 2.6 et d'ailleurs je ne pense pas que python 2.6 soit incompatible avec 2.7 (Ce n'est pas comme python 3)

Re: [Python 2.7 + 2.6] Installer plusieurs versions ? (en co

Publié : jeu. 24 mars 2011, 20:33
par FoolEcho
... ou blender-svn (Aur toujours: https://aur.archlinux.org/packages.php?ID=13062 ) qui compile avec python 3. 8)

Re: [Python 2.7 + 2.6] Installer plusieurs versions ? (en co

Publié : jeu. 24 mars 2011, 22:15
par Archimage
En fait j'ai déjà installé blender-svn (qui entre d'ailleurs en conflit avec blender 2.49, donc qui empêche de les installer côte à côte).

Pourquoi je veux installer blender 2.49 ? Tout simplement parceque Blender 2.56 n'a pas encore tous les scripts nécessaires pour être productif.

Pour utiliser certains scripts il faut revenir à 2.49, pour ça il y a deux solutions :

1 . Utiliser la version précompilée sur blender.org (python 2.5 ou python 2.6)
2. Remplacer blender SVN, et le compiler avec le python installé sur arch (python 2.7) (c'est une solution qui n'est pas bonne parceque j'ai besoin des deux versions de blender côte à côte)

Sauf que pour les 2 solutions il y a un problème de compatibilité avec python :

1 . Ne trouve pas python
Compiled with Python version 2.6.2.
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
'import site' failed; use -v for traceback
Checking for installed Python... No installed Python found.
Only built-in modules are available. Some scripts may not run.
Continuing happily.

2 . Reconnait python 2.7 mais les scripts ne fonctionnent pas
Checking for installed Python... got it!
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/omar/Applications/scripts/export_dxf.py", line 236, in <module>
extCONV_PATH = os.path.join(Blender.Get('scriptsdir'),extCONV)
File "/usr/lib/python2.7/posixpath.py", line 68, in join
elif path == '' or path.endswith('/'):
AttributeError: 'NoneType' object has no attribute 'endswith'

Voilà pourquoi je voudrais installer python 2.5 ou 2.6 à coté de python 2.7, afin de pouvoir utiliser la version précompilée, compatible avec les scripts...

EDIT : J'ai fait le test avec le script DXF exporter qui se trouve ici : http://cad4arch.com/blend01/prog/ble2dxf13.zip

C'est un peu tiré par les cheveux je sais :lol:

Re: [Python 2.7 + 2.6] Installer plusieurs versions ? (en co

Publié : jeu. 24 mars 2011, 22:35
par benjarobin
En effet j'ai:

Code : Tout sélectionner

blender: error while loading shared libraries: libpython2.6.so.1.0: cannot open shared object file: No such file or directory
Mais je suis arrivé à le faire fonctionner. Ce n'est pas très propre et il se peut que cela le fasse planter, mais au moins il se lance...
Donc pour le faire fonctionner j'ai fait ceci :

Code : Tout sélectionner

yaourt -S blender2.4-bin
ln -s /usr/lib/libpython2.7.so /usr/lib/libpython2.6.so.1.0
Si tu veux compiler python2.6 utilise ce paquet en modifiant le PKGBUILD pour ne pas avoir de conflit de fichier : http://projects.archlinux.org/svntogit/ ... 8b2a06dae3
Donc en gros remplace

Code : Tout sélectionner

ln -sf python${_pybasever} ${pkgdir}/usr/bin/python
  ln -sf python${_pybasever} ${pkgdir}/usr/bin/python2
par

Code : Tout sélectionner

ln -sf python${_pybasever} ${pkgdir}/usr/bin/python2.6
Renomme le nom du paquet : pkgname=python26
Et supprime 'python2' de provides

Re: [Python 2.7 + 2.6] Installer plusieurs versions ? (en co

Publié : jeu. 24 mars 2011, 23:31
par Archimage
J'ai suivi ces étapes mais ça ne marche toujours pas, les scripts ne se lancent pas... (toujours testé avec dxf exporter)

voici la sortie de la console :

Compiled with Python version 2.6.2.
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
'import site' failed; use -v for traceback
Checking for installed Python... No installed Python found.
Only built-in modules are available. Some scripts may not run.
Continuing happily.
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/omar/Applications/scripts/export_dxf.py", line 152, in <module>
import os
ImportError: No module named os

EDIT :

Je viens de voir la partie du post où tu me proposes le PKGBUILD de python 2.6

En fait il y a une erreur lors de la compilation

==> ERREUR: python-2.6-internal-expat.patch n'a pas été trouvé dans le répertoire de travail et n'est pas une URL.

comment récupérer ces fichiers ?

EDIT :

J'ai réussi à compiler python 2.6, mais il ne le trouve toujours pas

Re: [Python 2.7 + 2.6] Installer plusieurs versions ? (en co

Publié : ven. 25 mars 2011, 08:50
par benjarobin
Comment tu l'as compilé et comment tu l'as installé ?
Tu as définit $PYTHONHOME ?

Re: [Python 2.7 + 2.6] Installer plusieurs versions ? (en co

Publié : sam. 26 mars 2011, 00:08
par Archimage
En fait j'ai réussi à le faire fonctionner après avoir téléchargé python 2.6 depuis le ftp de python.org, puis j'ai compilé

./configure --prefix=/opt/python2.6
make
make install

sudo ln -s /opt/python2.6/bin/python2.6 /usr/bin/python-2.6

apres j'ai fait export PYTHONHOME=/opt/python2.6:/usr/bin

./blender

Re: [Python 2.7 + 2.6] Installer plusieurs versions ? (en co

Publié : sam. 26 mars 2011, 09:38
par benjarobin
Pourquoi tu n'es pas passé par le PKGBUILD, cela aurait fait la même chose, il aurait juste fallut spécifier PYTHONHOME.
Car là ton système contient des fichiers qui ne sont pas connu par pacman, cela va encore que c'est dans /opt/ :D
:resolu:

Re: [Python 2.7 + 2.6] Installer plusieurs versions ? (en co

Publié : sam. 26 mars 2011, 09:44
par FoolEcho
Archimage a écrit :En fait il y a une erreur lors de la compilation

==> ERREUR: python-2.6-internal-expat.patch n'a pas été trouvé dans le répertoire de travail et n'est pas une URL.

comment récupérer ces fichiers ?
Depuis le tarball d'Aur, avec le PKGBUILD à modifier (python26): http://aur.archlinux.org/packages.php?ID=41809
Je te conseille de passer par un build, ça te facilitera la maintenance du système. :)

:resolu:
(ce serait très sympa une prochaine fois d'utiliser la balise code dans tes messages :mrgreen: )


... grillé. :mrgreen:

Re: [Python 2.7 + 2.6] Installer plusieurs versions ? (en co

Publié : sam. 26 mars 2011, 10:01
par benjarobin
Ra le boulet que je suis je n'avais pas vu le paquet de AUR :(
Cela aurait été plus simple de dire yaourt -S python26

Re: [Python 2.7 + 2.6] Installer plusieurs versions ? (en co

Publié : sam. 26 mars 2011, 10:11
par FoolEcho
J'aurais du en parler bien avant (je n'avais pas réalisé qu'Archimage n'utilisait que le seul build et pas Aur :roll: ). :wink:

Re: [Python 2.7 + 2.6] Installer plusieurs versions ? (en co

Publié : sam. 26 mars 2011, 12:06
par Archimage
En fait j'avais déjà commis la bourde de compiler python manuellement avant d'ouvrir le sujet... Ensuite j'ai tenté d'utiliser le PKGBUILD mais il me manquait certains fichiers, puis j'ai téléchargé le tarball pour les extraire. J'ai fait makepkg avec le PKGBUILD que tu m'as conseillé, il s'est installé, mais je ne savais pas où il l'installait pour définir PYTHONHOME :oops: , c'est pour ça que j'ai fini par définir python home de la sorte :

Code : Tout sélectionner

export PYTHONHOME=/opt/python26:/usr/bin
Je me suis rendu compte que ce n'était pas propre et je compte bien nettoyer ça puis mettre en résolu, mais avant je voudrais savoir comment désinstaller proprement le python que j'ai mis manuellement et où il l'installe depuis l'AUR ?

C'est sûr que j'aurais dû passer par le chemin le plus court mais bon je me suis perdu comme tout bon débutant... :roll:

Désolé pour la balise des codes, promis la prochaine fois je n'y manquerai pas ! :chinois:

Re: [Python 2.7 + 2.6] Installer plusieurs versions ? (en co

Publié : sam. 26 mars 2011, 12:13
par benjarobin
Pour savoir où il s’installe, il suffisait de regarder le PKGBUILD ou tout simplement de faire pacman -Ql le_nom_du_paquet qui te donne le contenu du paquet.
je te conseil:

Code : Tout sélectionner

yaourt -Ql python26 | less

Re: [Python 2.7 + 2.6] Installer plusieurs versions ? (en co

Publié : sam. 26 mars 2011, 13:55
par Archimage
Merci bcp je ne connaissais pas cette commande !

Sinon pour désinstaller proprement le python que j'ai compilé manuellement il y a une procédure particulière ?

Re: [Python 2.7 + 2.6] Installer plusieurs versions ? (en co

Publié : sam. 26 mars 2011, 14:12
par benjarobin
Pas que je sache, rm au bon endroit devrai faire l'affaire
Donc dans ton cas:

Code : Tout sélectionner

rm /opt/python2.6/
rm /usr/bin/python-2.6

Re: [Python 2.7 + 2.6] Installer plusieurs versions ? (en co

Publié : sam. 26 mars 2011, 14:18
par FoolEcho

Code : Tout sélectionner

#depuis le répertoire où tu as installé bien sûr:
export PYTHONHOME=
rm /usr/bin/python-2.6
make uninstall #ou rm -rf /opt/python2.6
... si bien sûr il y a une règle uninstall dans le Makefile... sinon remplace le make par rm -rf sur /opt/python2.6 (il ne devrait rien y avoir ailleurs...) . :mrgreen:

EDIT: il n'y pas de règle uninstall. Donc rm -rf /opt/python2.6 .

... grillé... encore... :mrgreen:

Re: [Python 2.7 + 2.6] Installer plusieurs versions ? (en co

Publié : sam. 26 mars 2011, 15:39
par Archimage
Merci !

bon j'ai nettoyé le python compilé manuellement, :mrgreen:

faut-il que je désinstalle le paquet que j'ai construit avec makepkg aussi avant d'installer depuis l'AUR ?

parceque j'ai les sorties suivantes lorsque je tente de l'installer avec yaourt -S python26

Code : Tout sélectionner

Erreur: la validation de la transaction a échoué (conflit de fichiers)
python26: /usr/bin/2to3 est déjà présent dans le système de fichiers
python26: /usr/bin/idle est déjà présent dans le système de fichiers
python26: /usr/bin/pydoc est déjà présent dans le système de fichiers
python26: /usr/bin/python est déjà présent dans le système de fichiers
python26: /usr/bin/python-config est déjà présent dans le système de fichiers
avant de les supprimer manuellement je voulais savoir si ce n'est pas risqué de procéder ainsi...

Re: [Python 2.7 + 2.6] Installer plusieurs versions ? (en co

Publié : sam. 26 mars 2011, 15:44
par benjarobin
Je ne suis pas sur de comprendre. Tu as quoi d'installé : pacman -Qs python
Il n'as pas l'air d'être bien conçu le paquet python26, autant prendre celui que j'ai t'ai dis de faire plus ou moins modifié
En effet python26 place ses fichiers au même emplacement que python (version 3)

Tu devrai rajouté dans le PKGBUILD après le make install ceci:

Code : Tout sélectionner

rm ${pkgdir}/usr/bin/2to3
rm ${pkgdir}/usr/bin/idle
rm ${pkgdir}/usr/bin/pydoc 
rm ${pkgdir}/usr/bin/python
mv ${pkgdir}/usr/bin/python-config ${pkgdir}/usr/bin/python-config26

Re: [Python 2.7 + 2.6] Installer plusieurs versions ? (en co

Publié : sam. 26 mars 2011, 17:10
par FoolEcho
Au plus simple, je te conseille de garder les python (3) et python2 (2.7) des dépôts officiels et de procéder comme te l'indique benjarobin en adaptant le build pour caser python 2.6 dans /opt (en gros tu recases ta construction manuelle précédente via un PKGBUILD... patché éventuellement + lien symbolique dans /usr/bin si tu veux... ).
Le build proposé sur Aur n'est (n'était) valable que si l'on ne conserve qu'une version de python 2, en l'occurence la 2.6.