until pg8000 supports it, use psycopg2 instead. On Tuesday, October 14, 2014 2:26:34 AM UTC+2, ArnvShrma wrote: > > Hi, > > I am facing the exact same issue. Any work-around for this? > > On Saturday, March 8, 2014 8:15:26 PM UTC+5:30, Tony Locke wrote: >> >> Thanks for your list (and patch) Mariano, that's very useful. I've opened >> an issue for it at: >> >> https://github.com/mfenniak/pg8000/issues/30 >> >> On Monday, 3 March 2014 20:26:15 UTC, Mariano Reingart wrote: >>> >>> Including contrib in sys.path would be interesting but there could be >>> collisions (for example, in this case, witch pg8000 will be imported: the >>> one installed or the one in gluon.contrib?) >>> >>> Tony: there are other changes needed for web2py (see the diff for web2py >>> DAL I've attached earlier), the most important are: >>> >>> * missing __version__ attribute (now it is on setup.py, web2py need it >>> to differentiate drivers capabilities) >>> * connect doesn't suppor dsn string anymore (you need to pass keyword >>> parameters) >>> * set_client_encoding is not present anymore (you need to execute SQL >>> SET ...) >>> * server_version attribute has a leading underscore (_server_version), >>> this is need to detect server capabilities like JSON >>> >>> Also, for the pg8000 driver currently in web2py, I'd applied many >>> bugfixes reported in github / launchpad for the original project (mainly >>> data types, unicode, importing, etc.) >>> Also, I'd improved the psycopg2 compatibility (i.e. set_client_encoding, >>> autocommit, set_isolation_level), implementing the simple query protocol >>> (the one that uses psycopg2, and to avoid overhead of non-prepared >>> statements) and two-phase commit support. >>> >>> The last would be important for web2py distributed_transaction_commit, >>> but currently gluon.dal is sending raw SQL PREPARE TRANSACTION / COMMIT >>> PREPARED / ROLLBACK PREPARED without using dbapi proposed methods TPC >>> Connection Methods (tpc_begin, tpc_prepare, tpc_commit, tpc_rollback, >>> tpc_recover) >>> >>> You can see the detail of the changes applied to the web2py contrib >>> pg8000 here: >>> >>> https://code.google.com/p/pg8000/source/list >>> >>> https://github.com/reingart/pg8000/commits/master >>> >>> If this kind of changes could be accepted (psycopg2 compatibility, >>> simple query protocol, dbapi 2.0 two-pass commit, etc.), I could help to >>> make the pull requests (note that some could depend on each other). >>> Sorry I couldn't keep track of pg8000 due lack of time, so I don't know >>> what direction the project has taken. >>> >>> Best regards, >>> >>> >>> Mariano Reingart >>> http://www.sistemasagiles.com.ar >>> http://reingart.blogspot.com >>> >>> >>> On Mon, Mar 3, 2014 at 10:23 AM, Massimo Di Pierro < >>> [email protected]> wrote: >>> >>>> I agree with Niphlod. I do not like packages that need to be installed >>>> to work and explicit relative imports is better than absolute imports. >>>> Yet, this is not the only package we had to tweak to include in >>>> contrib. So this may come up again. Any objection to include contrib in >>>> sys.path? >>>> >>>> >>>> On Sunday, 2 March 2014 18:29:45 UTC-6, Niphlod wrote: >>>>> >>>>> as long as you can use it without installing it in sys.path, then it's >>>>> fine. If not, it can't be shipped with web2py, just supported as a module. >>>>> I don't like packages that needs a complete install to work. It's true >>>>> that we have venvs for quite some time now, but a module with less than >>>>> 10 >>>>> files can accomodate for relative imports quite finely without impairing >>>>> the code-reader in everyone of us :P >>>>> >>>>> BTW, search for "explicit relative imports" in that doc :-P >>>>> >>>>> On Sunday, March 2, 2014 7:24:58 PM UTC+1, Tony Locke wrote: >>>>>> >>>>>> Hi, I'm a contributor to pg8000 and if there are any changes you need >>>>>> to get pg8000 working with web2py, let me know. Looking at the absolute >>>>>> import problem, PEP8 seems to think absolute imports are the way to go: >>>>>> >>>>>> http://legacy.python.org/dev/peps/pep-0008/ >>>>>> <http://www.google.com/url?q=http%3A%2F%2Flegacy.python.org%2Fdev%2Fpeps%2Fpep-0008%2F&sa=D&sntz=1&usg=AFQjCNG8T4Krvic_V8TCmT4iog4T5e4pyg> >>>>>> >>>>>> (search for 'relative' in the text) but I'm open to persuasion :-) >>>>>> >>>>>> Cheers, >>>>>> >>>>>> Tony. >>>>>> >>>>>> On Saturday, 1 March 2014 11:18:43 UTC, Joe Barnhart wrote: >>>>>>> >>>>>>> Hi Mariano -- >>>>>>> >>>>>>> I'd like to encourage you to keep making pg8000 a viable alternative >>>>>>> for web2py. I started with it but had to change to psycopg2 because of >>>>>>> some issues that postgres handled better under the psy driver. But I >>>>>>> think >>>>>>> pypy could be the future of python and it won't support a driver like >>>>>>> psycopg2 -- but it could support pg8000 since it is all python. >>>>>>> >>>>>>> It's just good to have an alternative because no driver does it all. >>>>>>> >>>>>>> -- Joe B. >>>>>>> >>>>>>> On Tuesday, February 25, 2014 6:55:17 PM UTC-8, Mariano Reingart >>>>>>> wrote: >>>>>>>> >>>>>>>> Hi Horst: >>>>>>>> >>>>>>>> Sadly there have been a lot of changes in pg8000, so it is not >>>>>>>> backward compatible with the current custom version in web2py. >>>>>>>> >>>>>>>> First, you need to delete the pg8000 folder in contrib, and put the >>>>>>>> new pg8000 folder (the one with __init__.py) directly in the web2py >>>>>>>> top >>>>>>>> level folder (at the same level as gluon). >>>>>>>> Note that the new pg8000 uses absolute imports that will not work >>>>>>>> if pg8000 is in contrib folder (or it should be added to the >>>>>>>> PYTHONPATH) >>>>>>>> >>>>>>>> Second, you need to apply the attached patch to gluon/dal.py to: >>>>>>>> * change the import (and add a missing __version__ attribute) >>>>>>>> * change connection to pass individual parameters (dsn string is >>>>>>>> not supported anymore) >>>>>>>> * change after_connection set_client_encoding to execute SQL >>>>>>>> * change server_version to _server_version >>>>>>>> >>>>>>>> I'll propose (again) to the pg8000 group the changes I've >>>>>>>> introduced for web2py, so the latest version could be used as a direct >>>>>>>> drop-in replacement for psycopg2 >>>>>>>> IIRC, at some stage the author gave me commit access, but I didn't >>>>>>>> have time to pull my changes and missed some discussions about the >>>>>>>> project >>>>>>>> internals. >>>>>>>> >>>>>>>> Best regards >>>>>>>> >>>>>>>> >>>>>>>> Mariano Reingart >>>>>>>> http://www.sistemasagiles.com.ar >>>>>>>> http://reingart.blogspot.com >>>>>>>> >>>>>>>> >>>>>>>> On Tue, Feb 25, 2014 at 5:46 PM, Horst Horst <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> I've tried the latest pg8000 as a drop-in replacement, but it >>>>>>>>> seems web2py can't import it: >>>>>>>>> >>>>>>>>> <type 'exceptions.RuntimeError'> Failure to connect, tried 5 >>>>>>>>> times: Traceback (most recent call last): File >>>>>>>>> "/Users/sfx/dev/mdb/web2py. >>>>>>>>> app/Contents/Resources/gluon/dal.py", line 7766, in __init__ File >>>>>>>>> "/Users/sfx/dev/mdb/web2py.app/Contents/Resources/gluon/dal.py", >>>>>>>>> line 2756, in __init__ File "/Users/sfx/dev/mdb/web2py. >>>>>>>>> app/Contents/Resources/gluon/dal.py", line 795, in find_driver >>>>>>>>> RuntimeError: no driver available ('psycopg2', 'pg8000') >>>>>>>>> >>>>>>>>> I didn't step through it in the debugger, but the module's >>>>>>>>> __init__.pyc got compiled, so I know web2py attempted an import. >>>>>>>>> >>>>>>>>> The latest pg8000/__init__.py contains a section which matches the >>>>>>>>> former interface >>>>>>>>> >>>>>>>>> # For compatibility with 1.8 >>>>>>>>> import pg8000 as dbapi >>>>>>>>> DBAPI = dbapi >>>>>>>>> pg8000_dbapi = DBAPI >>>>>>>>> >>>>>>>>> so I'd guess it's a minor problem, nonetheless I'm lost at this >>>>>>>>> point. >>>>>>>>> >>>>>>>>> >>>>>>>>> On Monday, February 24, 2014 9:32:05 PM UTC+1, Mariano Reingart >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> You could try to update pg8000 from the official: >>>>>>>>>> >>>>>>>>>> https://github.com/mfenniak/pg8000 >>>>>>>>>> >>>>>>>>>> Let us know if that works, so we could update the one distributed >>>>>>>>>> with web2py >>>>>>>>>> The one currently distributed in contrib is an older version with >>>>>>>>>> custom patches (as it was not being mantained at the time it was >>>>>>>>>> included >>>>>>>>>> to web2py), but now the official site has updates that could help >>>>>>>>>> you in >>>>>>>>>> this case. >>>>>>>>>> >>>>>>>>>> Best regards >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Mariano Reingart >>>>>>>>>> http://www.sistemasagiles.com.ar >>>>>>>>>> http://reingart.blogspot.com >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Mon, Feb 24, 2014 at 10:18 AM, Horst Horst <[email protected] >>>>>>>>>> > wrote: >>>>>>>>>> >>>>>>>>>>> I'm getting a: >>>>>>>>>>> >>>>>>>>>>> <class 'gluon.contrib.pg8000.errors.NotSupportedError'> type >>>>>>>>>>> oid 114 not mapped to py type >>>>>>>>>>> >>>>>>>>>>> I'm wondering what's the best thing to do now? Currently I'm >>>>>>>>>>> considering: >>>>>>>>>>> >>>>>>>>>>> - using TEXT instead. But my former JSON strings are then >>>>>>>>>>> enclosed by "|" which leads to new errors >>>>>>>>>>> >>>>>>>>>>> - updating gp8000 (there seems to be a newer version, but the >>>>>>>>>>> version numbering is confusing) >>>>>>>>>>> >>>>>>>>>>> - using psycopg2. How can I install this into an Mac OS >>>>>>>>>>> standalone version of web2py? >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Resources: >>>>>>>>>>> - http://web2py.com >>>>>>>>>>> - http://web2py.com/book (Documentation) >>>>>>>>>>> - http://github.com/web2py/web2py (Source code) >>>>>>>>>>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>>>>>>>>>> --- >>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>> Google Groups "web2py-users" group. >>>>>>>>>>> To unsubscribe from this group and stop receiving emails from >>>>>>>>>>> it, send an email to [email protected]. >>>>>>>>>>> >>>>>>>>>>> For more options, visit https://groups.google.com/groups/opt_out >>>>>>>>>>> . >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>> Resources: >>>>>>>>> - http://web2py.com >>>>>>>>> - http://web2py.com/book (Documentation) >>>>>>>>> - http://github.com/web2py/web2py (Source code) >>>>>>>>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>>>>>>>> --- >>>>>>>>> You received this message because you are subscribed to the Google >>>>>>>>> Groups "web2py-users" group. >>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>> send an email to [email protected]. >>>>>>>>> For more options, visit https://groups.google.com/groups/opt_out. >>>>>>>>> >>>>>>>> >>>>>>>> -- >>>> Resources: >>>> - http://web2py.com >>>> - http://web2py.com/book (Documentation) >>>> - http://github.com/web2py/web2py (Source code) >>>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>>> --- >>>> You received this message because you are subscribed to the Google >>>> Groups "web2py-users" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> For more options, visit https://groups.google.com/groups/opt_out. >>>> >>> >>>
-- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

