Page 1 sur 1

[mercurial] bug suite au passage à python3 [RESOLU]

Publié : ven. 22 avr. 2011, 18:42
par MCMic
Depuis le passage à python3, quand je fais "hg", ça me dit ça :
abort: couldn't find mercurial libraries in [/usr/local/bin /usr/lib/python32.zip /usr/lib/python3.2 /usr/lib/python3.2/plat-linux2 /usr/lib/python3.2/lib-dynload /usr/lib/python3.2/site-packages]
(check your install and PYTHONPATH)
Alors, j'ai survécu avec un "alias hg="python2 /usr/bin/hg" pendant un temps, mais là ça commence vraiment à m'ennuyer.
Notamment les pkgbuilds lancés par yaourt n'ont pas l'alias et n'arrivent pas à récupérer du code de puis des dépôts mercurial, c'est fâcheux.

Quelqu'un saurait m'expliquer comment corriger ce problème? Est-ce de ma faute ou le paquet mercurial est-il buggé?

Re: [mercurial] bug suite au passage à python3

Publié : ven. 22 avr. 2011, 18:59
par benjarobin
Je ne possède aucun problème... Tu es à jour ?
Que donne pacman -Qi mercurial (tu devrai être en version 1.8.2)

Code : Tout sélectionner

python2
Python 2.7.1 (r271:86832, Feb 21 2011, 01:26:25) 
[GCC 4.5.2 20110127 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> ' '.join(sys.path)
' /usr/lib/python27.zip /usr/lib/python2.7 /usr/lib/python2.7/plat-linux2 /usr/lib/python2.7/lib-tk /usr/lib/python2.7/lib-old /usr/lib/python2.7/lib-dynload /usr/lib/python2.7/site-packages /usr/lib/python2.7/site-packages/gst-0.10 /usr/lib/python2.7/site-packages/gtk-2.0 /usr/lib/python2.7/site-packages/wx-2.8-gtk2-unicode'

Code : Tout sélectionner

python
Python 3.2 (r32:88445, Feb 21 2011, 01:54:01) 
[GCC 4.5.2 20110127 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> ' '.join(sys.path)
' /usr/lib/python32.zip /usr/lib/python3.2 /usr/lib/python3.2/plat-linux2 /usr/lib/python3.2/lib-dynload /usr/lib/python3.2/site-packages'
>>>
Quel est la sortie de

Code : Tout sélectionner

cat /usr/bin/hg | head

Re: [mercurial] bug suite au passage à python3

Publié : ven. 22 avr. 2011, 21:17
par MCMic
$ pacman -Qi mercurial
Nom : mercurial
Version : 1.8.2-1
URL : http://www.selenic.com/mercurial
Licences : GPL
Groupes : --
Fournit : --
Dépend de : python2
Dépendances opt. : tk: for the hgk GUI
Requis par : --
Est en conflit avec : --
Remplace : --
Taille (installé) : 9119,00 K
Paqueteur : Giovanni Scafora <giovanni@archlinux.org>
Architecture : i686
Compilé le : sam. 02 avril 2011 10:44:49 CEST
Installé le : ven. 22 avril 2011 18:31:34 CEST
Motif d'installation : Explicitement installé
Script d'installation : Non
Description : A scalable distributed SCM tool
$ cat /usr/bin/hg | head
#!/usr/bin/python2
#
# mercurial - scalable distributed SCM
#
# Copyright 2005-2007 Matt Mackall <mpm@selenic.com>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.

import os
Je suis à jour. Et j'ai ce problème depuis la mise à jour python2>python3. J'ai réinstallé mercurial, aucun changement.

Re: [mercurial] bug suite au passage à python3

Publié : ven. 22 avr. 2011, 21:51
par tuxce
et que donne:

Code : Tout sélectionner

python2 -V
pacman -Q python2
?

Re: [mercurial] bug suite au passage à python3

Publié : ven. 22 avr. 2011, 23:12
par MCMic

Code : Tout sélectionner

$ python2 -V
Python 2.7.1

Code : Tout sélectionner

$ pacman -Q python2
python2 2.7.1-9

Re: [mercurial] bug suite au passage à python3

Publié : ven. 22 avr. 2011, 23:16
par benjarobin
:shock: Je ne comprend pas bien... Que donne la sortie du fichier exécuté suivant

Code : Tout sélectionner

#!/usr/bin/python2

import os
import sys

print ' '.join(sys.path)

Code : Tout sélectionner

chmod +x test.py
./test.py
De même mais avec

Code : Tout sélectionner

#!/usr/bin/python

import os
import sys

print(' '.join(sys.path))
Edit: Correction du script pour python3

Re: [mercurial] bug suite au passage à python3

Publié : ven. 22 avr. 2011, 23:25
par MCMic

Code : Tout sélectionner

$ ./test.py 
/tmp /usr/lib/python27.zip /usr/lib/python2.7 /usr/lib/python2.7/plat-linux2 /usr/lib/python2.7/lib-tk /usr/lib/python2.7/lib-old /usr/lib/python2.7/lib-dynload /usr/lib/python2.7/site-packages /usr/lib/python2.7/site-packages/PIL /usr/lib/python2.7/site-packages/gst-0.10 /usr/lib/python2.7/site-packages/gtk-2.0 /usr/lib/python2.7/site-packages/setuptools-0.6c11.egg-info /usr/lib/python2.7/site-packages/wx-2.8-gtk2-unicode
avec python ça foire :

Code : Tout sélectionner

$ ./test.py 
  File "./test.py", line 6
    print ' '.join(sys.path)
            ^
SyntaxError: invalid syntax

Re: [mercurial] bug suite au passage à python3

Publié : ven. 22 avr. 2011, 23:29
par benjarobin
Désolé, en effet pour le 2ieme test la syntaxe n'est pas valide... Ce n'est pas grave :D

Hum, je crois deviner ou est le problème.
Est-ce que hg fonctionne quand il est lancé avec : /usr/bin/hg

Quelle est la sortie de

Code : Tout sélectionner

ls -l /usr/bin/hg
alias | grep -i hg
type -t hg
command -v hg

Re: [mercurial] bug suite au passage à python3

Publié : sam. 23 avr. 2011, 00:37
par MCMic

Code : Tout sélectionner

$ command -v hg
/usr/local/bin/hg
Problem spotted :D

Re: [mercurial] bug suite au passage à python3

Publié : sam. 23 avr. 2011, 00:39
par MCMic
Merci beaucoup, après suppression du binaire dans local (je sais pas comment il est arrivé là), tout va beaucoup mieux!

Re: [mercurial] bug suite au passage à python3

Publié : sam. 23 avr. 2011, 10:17
par benjarobin
:resolu: