开发者

qrcode for python on linux

开发者 https://www.devze.com 2023-01-21 20:21 出处:网络
I have an error when i used pyqrcode. [root@localhost python2.6]# python Python 2.6.5 (r265:79063, Sep7 2010, 07:31:57)

I have an error when i used pyqrcode.

[root@localhost 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

How to resolve above error?

I am referring pyqrcode from http://pyqrcode.sourceforge.net/

Thanks, Manu


After the installation of PIL-1.1.7 and JCC-2.14, I've tried to install pyqrcode-0.2.1 from sources as you did, and also ran into the same error : ImportError: No module named _qrcode. But then I've noticed that _qrcode is actually a lib (_qrcode.so). So I've tried to add it on my library path :

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/

And it worked ! Well actually, not quite, I ran into another error :

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

So I've edited the __init__.py file

# 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/

and commented out line 21 :

#  _qrcode._setExceptionTypes(JavaError, InvalidArgsError)

Then I was able to run their simple example :

#!/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

精彩评论

暂无评论...
验证码 换一张
取 消