Looks like you don't have a Python MySQL driver installed on your system.
It works in web2py because web2py includes pymysql in /gluon/contrib (but
/gluon/contrib is not part of sys.path when running a Python program
outside of the web2py context).
Anthony
On Tuesday, August 8, 2017 at 9:42:27 PM UTC-4, jim kaubisch wrote:
>
> I would have thought so, but it fails !!! What am I missing?
>
> about as basic as can be -
> a plain 2-line vanilla python app (with a running mysql db, created with
> the same "db = DAL('mysql://root:password@localhost/mfm_curr_lib',
> pool_size = 10) " and accessed happily by the web2py app)
>
> from pydal import DAL, Field
>
> db = DAL('mysql://root:password@localhost/mfm_curr_lib', pool_size = 10)
>
>
> … produces
>
>
> RuntimeError: 'Failure to connect, tried 5 times:\nTraceback (most recent
> call last):\n File "/Library/Python/2.7/site-packages/pydal/base.py", line
> 455, in __init__\n self._adapter = adapter(**kwargs)\n File
> "/Library/Python/2.7/site-packages/pydal/adapters/__init__.py", line 40, in
> __call__\n obj = super(AdapterMeta, cls).__call__(*args, **kwargs)\n File
> "/Library/Python/2.7/site-packages/pydal/adapters/base.py", line 373, in
> __init__\n super(SQLAdapter, self).__init__(*args, **kwargs)\n File
> "/Library/Python/2.7/site-packages/pydal/adapters/base.py", line 50, in
> __init__\n self.find_driver()\n File
> "/Library/Python/2.7/site-packages/pydal/adapters/base.py", line 101, in
> find_driver\n str(self.drivers))\nRuntimeError: No driver of supported ones
> (\'MySQLdb\', \'pymysql\', \'mysqlconnector\') is available\n'
>
> module body in mfm_media_model.py at line 63
>
> db = DAL('mysql://root:password@localhost:3306/mfm_curr_lib/', pool_size =
> 10)
>
> function __call__ in base.py at line 170
>
> obj = super(MetaDAL, cls).__call__(*args, **kwargs)
>
> function __init__ in base.py at line 475
>
> "Failure to connect, tried %d times:\n%s" % (attempts, tb)
> On Tuesday, August 8, 2017 at 6:01:16 PM UTC-7, Anthony wrote:
>>
>> Sure, you can access the same database from multiple applications (web2py
>> or not).
>>
>> On Tuesday, August 8, 2017 at 6:29:30 PM UTC-4, jim kaubisch wrote:
>>>
>>> Thanks, I think you're right. But its working now, so I'll revisit it
>>> once the delivery heat is off.
>>>
>>> Please, on the related topic of my other post, I'm I missing something
>>> by thinking I should be able to access the SAME mysql db both from web2py
>>> as well as a standard Python program, assuming the same version of DAL?
>>> In fact, the web2py app creates the db and uses it fine, but the
>>> standalone app claims it can't connect to it.
>>>
>>> I haven't tried it, but what about 2 web2py apps? Can they access the
>>> same (mysql) db
>>>
>>> Thanks
>>>
>>> On Tuesday, August 8, 2017 at 12:56:23 PM UTC-7, Anthony wrote:
>>>>
>>>> As I was developing the app, I realized that I was writing basically
>>>>> the same code over and over and over, just with slight differences, e.g.
>>>>> the table name, the criteria, the fields I wanted to return and their
>>>>> display order...
>>>>> so a couple of dictionaries to define (1) the tableviews criteria and
>>>>> (2) ordered list of fields to return and the core becomes a small
>>>>> parameterization of basically the same db query - 10s of lines of code.
>>>>>
>>>>
>>>> Sounds like something you could handle by abstracting everything into a
>>>> special function and maybe using Python argument unpacking:
>>>>
>>>> db(db.table).select(*list_of_fields, **dictonary_of_named_arguments)
>>>>
>>>> Anthony
>>>>
>>>
--
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.