2010-10-21 7 views
3

J'ai une erreur quand j'ai utilisé pyqrcode.qrcode pour python sur linux

[[email protected] python2.6]# python 

Python 2.6.5 (r265:79063, Sep 7 2010, 07:31:57) 

[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 

>>> import qrcode 

Traceback (most recent call last): 

    File "<stdin>", line 1, in <module> 

    File "/usr/local/lib/python2.6/site-packages/qrcode-0.2.1-py2.6-linux-x86_64.egg/qrcode/__init__.py", line 6, in <module> 

    from qrcode import _qrcode 

ImportError: cannot import name _qrcode 

Comment résoudre l'erreur ci-dessus?

Je parle pyqrcode de http://pyqrcode.sourceforge.net/

Merci, Manu

+1

Comment avez-vous installé pyqrcode sur votre machine? – tzot

+0

J'ai la même erreur. J'ai installé sur Ubuntu 12.04 x86_64 de la source. – michael

+0

Il y a évidemment quelque chose qui cloche avec les sources. Dans le paquet qrcode il n'y a rien, seulement le fichier \ _ \ _ init \ _ \ _. Py. – Bakuriu

Répondre

1

Après l'installation de PIL-1.1.7 et JCC-2.14, je l'ai essayé d'installer pyqrcode-0.2.1 à partir de sources que vous avez fait, et aussi couru dans la même erreur : ImportError: No module named _qrcode. Mais alors j'ai remarqué que _qrcode est en fait une lib (_qrcode.so). J'ai donc essayé de l'ajouter sur mon chemin de bibliothèque:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/python2.7/site-packages/qrcode-0.2.1-py2.7-linux-x86_64.egg/qrcode/ 

Et ça a marché! Et bien en fait, pas tout à fait, je suis tombé sur une autre erreur:

AttributeError: 'module' object has no attribute '_setExceptionTypes' 

J'ai donc modifié le fichier __init__.py

# probably located under a path like this for linux 
/usr/local/lib/python2.7/site-packages/qrcode-0.2.1-py2.7-linux-x86_64.egg/qrcode/ 

# or under a path like this for a Mac 
/Library/Python/2.7/site-packages/qrcode-0.2.1-py2.7-macosx-10.7-intel.egg/qrcode/ 

et a commenté la ligne 21:

# _qrcode._setExceptionTypes(JavaError, InvalidArgsError) 

J'étais capable d'exécuter leur exemple simple:

#!/usr/bin/env python 
# coding: utf-8 
# 
# pyqrcode sample encoder 

import sys, qrcode 

e = qrcode.Encoder() 
image = e.encode('woah!', version=15, mode=e.mode.BINARY, eclevel=e.eclevel.H) 
image.save('out.png') 

(source: http://pyqrcode.sourceforge.net/)

Hope it helps,

+0

Cette réponse m'a permis de démarrer sous Mac avec OSX 10.7.5. Notez que j'ai dû installer 'pyqrcode' à partir de la source pour le faire fonctionner. La version en pip ne marchait pas pour moi. Probablement quelque chose sur ma machine, mais ça vaut la peine d'essayer dans les deux sens si vous avez des problèmes. –

Questions connexes