cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

After upgrading mac os to High Sierra, using python3.6 sqlanydb in flask app gives error: Could not load dbcapi

Former Member
0 Likes
4,308

I recently upgraded my OS to High Sierra, and since then I have not been able to use the sqlanydb library with my flask app. I was using SQLAnywhere16 and recently upgraded to SQLAnywhere17 after reading that it might solve problem, but it did not.

I start by sourcing sa_config.sh located at /Applications/SQLAnywhere17/System/bin64/sa_config.sh. Then I run my flask app. In the initialization of my app, I create a connection using sqlanydb.connect(), and I am met with the following traceback.

File "/usr/local/lib/python3.6/site-packages/lib/python/site-packages/sqlanydb.py", line 522, in connect return Connection(args, kwargs) File "/usr/local/lib/python3.6/site-packages/lib/python/site-packages/sqlanydb.py", line 538, in __init__ parent = Connection.cls_parent = Root("PYTHON") File "/usr/local/lib/python3.6/site-packages/lib/python/site-packages/sqlanydb.py", line 464, in __init__ 'libdbcapi_r.dylib') File "/usr/local/lib/python3.6/site-packages/lib/python/site-packages/sqlanydb.py", line 456, in load_library raise InterfaceError("Could not load dbcapi. Tried: " + ','.join(map(str, names))) sqlanydb.InterfaceError: (u'Could not load dbcapi. Tried: None,dbcapi.dll,libdbcapi_r.so,libdbcapi_r.dylib', 0)

When I run the python3.6 interpreter, I am able to import the sqlanydb and connect to my database just fine, with no error. But when I try to connect inside my flask app, I get this error.

View Entire Topic
jeff_albion
Product and Topic Expert
Product and Topic Expert

High Sierra will "purge" DYLD_LIBRARY_PATH now for protected processes - see the docs from Apple.

Former Member
0 Likes

Ah, I see. Thank you for pointing me in the right direction.