PyKota, Python: AttributeError: 'module' object has no attribute '_quote'

Peter Otten __peter__ at
Mon Feb 20 12:26:12 EST 2012

JohannesTU wrote:

> Hello everyone,
> I'm new to linux/suse, but I was given the task to install the print
> accounting software PyKota.
> Before that I never even touched a linux system, so I don't have any basic
> knowlegde at all!
> Up to now I was able to solve all problems with the help of google, but
> now I'm stuck.
> My problem:
>     linux-6n5c:/usr/local/bin # pkusers --add john paul
>     Creation...
>     ERROR: PyKota v1.26_official
>     ERROR: pkusers failed
>     ERROR: Traceback (most recent call last):
>     ERROR:   File "/usr/local/bin/pkusers", line 442, in <module>
>     ERROR:     retcode = manager.main(args, options)
>     ERROR:   File "/usr/local/bin/pkusers", line 345, in main
>     ERROR:     oldentry = getattr(, "add%s" % suffix)(entry)
>     ERROR:   File
> "/usr/local/lib/python2.7/site-packages/pykota/storages/", line 598,
> in addUser
>     ERROR:     oldentry = self.getUser(user.Name)
>     ERROR:   File
> "/usr/local/lib/python2.7/site-packages/pykota/", line 623, in
> getUser
>     ERROR:     user = self.getUserFromBackend(username)
>     ERROR:   File
> "/usr/local/lib/python2.7/site-packages/pykota/storages/", line 355,
> in getUserFromBackend
>     ERROR:     % self.doQuote(self.userCharsetToDatabase(username)))
>     ERROR:   File
> "/usr/local/lib/python2.7/site-packages/pykota/storages/",
> line 144, in doQuote
>     ERROR:     return pg._quote(field, typ)
>     ERROR: AttributeError: 'module' object has no attribute '_quote'
> I have no idea how to deal with it or what it even means!

I suppose you have successfully repaired your car, but don't know what an 
engine might be ;)
> Executing "linux-6n5c:/usr/local/bin # pkusers" works fine and shows me
> commands, version number etc.
> But adding users or printers (with pkprinters) won't work.
> I would be really thankful if anyone could give me some advice or hints
> how to solve the problem!

The error traceback explained: Python is trying to call a function named 
_quote() in a module named pg. The most likely reason is either that you 
have the wrong version of the module or a module unrelated to the required 
one that has the same name and appears earlier in Python's search path.

You can start debugging with

$ python2.7 -c'import pg; print pg.__file__'

to find out the filename and then look into the corresponding .py file.
If that is related to postgresql you are probably seeing a version mismatch.
Consult PyKota's documentation to find out the program's dependencies.

More information about the Python-list mailing list