Hi Niphlod,

I tried using psycopg2 but there are few reasons because of which I can not
use it. I am currently deploying travis CI to run Sahana Eden unit tests.
psycopg2 fails a few of the tests which it really should not. You can see
the build here [1].

[1] https://travis-ci.org/arnavsharma93/eden/jobs/37883503

So, any temporary fix of running pg8000?

On 14 October 2014 17:54, Niphlod <[email protected]> wrote:

> 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/grou
>>>>>>>>>>>> ps/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 a topic in the
> Google Groups "web2py-users" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/web2py/BfSIbUSPk38/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> For more options, visit https://groups.google.com/d/optout.
>



-- 
*Arnav Sharma <http://web.iiit.ac.in/~arnav.s/>*
*IIITH*

"If everything is under control, you are going too slow." - Some wise man
with big nerdy glasses.

-- 
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.

Reply via email to