I am trying to setup a rest api to return data from oracle database table.  
My configuration looks like this:
OS: macOS Mojave(10.14.6 (18G4032))
Python:3.8.0 64-bit in virtual env (.venv/bin/python) installed by 
following instructions here: https://www.python.org/downloads/mac-osx/
Oracle Instant client installed using instructions here: 
https://www.oracle.com/database/technologies/instant-client/macos-intel-x86-downloads.html
 (tried 
with version 19.3 and 18.1)
installed cx_Oracle using  pip 20.0.2 from 
/Users/manasi/git/rest-api/.venv/lib/python3.8/site-packages/pip (python 
3.8)

I have a db_test.py file with following code
import cx_Oracle as orcl

print("cx_Oracle.version:", orcl.version)

connection = orcl.connect('user/password@localhost:1521/XEPDB1')
cursor = orcl.Cursor(connection) 

print("======")
sql = "select * from dual"
res = cursor.execute(sql)
print(res.fetchall())
print("======")

This runs and produces results. I have tested with query for other tables 
in the schema and got results.
$ python db_test.py 

cx_Oracle.version: 7.3.0
======
[('X',)]
======

when I run the same from wsgi.py
import os
import sys
import cx_Oracle as orcl

def application(environ, start_response):
status = '200 OK'
output = b'Hello World!'
print (dict(os.environ))
print(sys.version)
print(sys.path)
print("cx_Oracle.version:", orcl.version)

connection = orcl.connect('user/password@localhost:1521/XEPDB1')
cursor = orcl.Cursor(connection) 

print("======")
sql = "select * from dual"
res = cursor.execute(sql)
print(res.fetchall())
print("======")

response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)

return [output] 
$ mod_wsgi-express start-server ./my-app/wsgi.py --port 8080 
--reload-on-changes --working-directory ./ --mount-point /my-app 
--log-level info --python-path /Users/manasi/lib

error_log:
$ source /Users/manasi/git/rest-api/.venv/bin/activate
(.venv)$ tail -f /var/tmp/mod_wsgi-localhost:8080:501/error_log [Mon Apr 27 
11:35:07.409188 2020] [mpm_prefork:info] [pid 6367] AH00164: Server built: 
Feb 22 2019 20:20:11
[Mon Apr 27 11:35:07.409207 2020] [core:notice] [pid 6367] AH00094: Command 
line: 'httpd (mod_wsgi-express)  -f 
/var/tmp/mod_wsgi-localhost:8080:501/httpd.conf -D 
MOD_WSGI_WITH_PYTHON_PATH -D FOREGROUND'
[Mon Apr 27 11:35:07.409024 2020] [wsgi:info] [pid 6369] mod_wsgi 
(pid=6369): Starting process 'localhost:8080' with threads=5.
[Mon Apr 27 11:35:07.409773 2020] [wsgi:info] [pid 6369] mod_wsgi 
(pid=6369): Python home /Users/manasi/git/rest-api/.venv.
[Mon Apr 27 11:35:07.409827 2020] [wsgi:info] [pid 6369] mod_wsgi 
(pid=6369): Initializing Python.
[Mon Apr 27 11:35:07.421089 2020] [wsgi:info] [pid 6369] mod_wsgi 
(pid=6369): Attach interpreter ''.
[Mon Apr 27 11:35:07.429142 2020] [wsgi:info] [pid 6369] mod_wsgi 
(pid=6369): Adding '/Users/manasi/lib' to path.
[Mon Apr 27 11:35:07.433721 2020] [wsgi:info] [pid 6369] mod_wsgi 
(pid=6369): Imported 'mod_wsgi'.
[Mon Apr 27 11:35:07.433813 2020] [wsgi:info] [pid 6369] mod_wsgi 
(pid=6369, process='localhost:8080', application=''): Loading Python script 
file '/var/tmp/mod_wsgi-localhost:8080:501/handler.wsgi'.
[Mon Apr 27 11:35:07.487445 2020] [wsgi:error] [pid 6369] monitor 
(pid=6369): Starting change monitor.
[Mon Apr 27 11:35:46.457493 2020] [wsgi:error] [pid 6369] [remote 
::1:53553] {'MOD_WSGI_MODULES_DIRECTORY': '/usr/libexec/apache2', 
'TERM_PROGRAM': 'vscode', 'MOD_WSGI_SERVER_ROOT': 
'/var/tmp/mod_wsgi-localhost:8080:501', 'SHELL': '/bin/bash', 'TERM': 
'xterm-256color', 'TMPDIR': 
'/var/folders/tl/jkkzxl3x2hd5spv5cq02nw6c0000gn/T/', '__PYVENV_LAUNCHER__': 
'/Users/manasi/git/rest-api/.venv/bin/python3', 
'Apple_PubSub_Socket_Render': 
'/private/tmp/com.apple.launchd.pcoWK8iKv5/Render', 'TERM_PROGRAM_VERSION': 
'1.44.2', 'LC_ALL': 'en_US.UTF-8', 'USER': 'manasi', 
'MOD_WSGI_LISTENER_HOST': 'localhost', 'SSH_AUTH_SOCK': 
'/private/tmp/com.apple.launchd.HxSkcpD4Q5/Listeners', 
'__CF_USER_TEXT_ENCODING': '0x1F5:0x0:0x0', 'VIRTUAL_ENV': 
'/Users/manasi/git/rest-api/.venv', 'PATH': 
'/Users/manasi/git/rest-api/.venv/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet',
 
'MOD_WSGI_HTTPS_PORT': 'None', 'PWD': '/Users/manasi/git/rest-api', 'LANG': 
'en_US.UTF-8', 'XPC_FLAGS': '0x0', 'MOD_WSGI_HTTP_PORT': '8080', 
'XPC_SERVICE_NAME': '0', 'HOME': '/Users/manasi', 'SHLVL': '2', 
'MOD_WSGI_GROUP': 'staff', 'MOD_WSGI_USER': 'manasi', 'LOGNAME': 'manasi', 
'MOD_WSGI_WORKING_DIRECTORY': '/Users/manasi/git/rest-api', 'COLORTERM': 
'truecolor', 'PYTHON_EGG_CACHE': 
'/var/tmp/mod_wsgi-localhost:8080:501/python-eggs', 'MOD_WSGI_EXPRESS': 
'true', 'MOD_WSGI_SERVER_NAME': 'localhost', 'MOD_WSGI_SERVER_ALIASES': '', 
'MOD_WSGI_RELOADER_ENABLED': 'true'}
[Mon Apr 27 11:35:46.457721 2020] [wsgi:error] [pid 6369] [remote 
::1:53553] 3.8.0 (v3.8.0:fa919fdf25, Oct 14 2019, 10:23:27) 
[Mon Apr 27 11:35:46.457736 2020] [wsgi:error] [pid 6369] [remote 
::1:53553] [Clang 6.0 (clang-600.0.57)]
[Mon Apr 27 11:35:46.457748 2020] [wsgi:error] [pid 6369] [remote 
::1:53553] 
[Mon Apr 27 11:35:46.457769 2020] [wsgi:error] [pid 6369] [remote 
::1:53553] ['/Users/manasi/git/rest-api', '/Users/manasi/lib', 
'/Library/Frameworks/Python.framework/Versions/3.8/lib/python38.zip', 
'/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8', 
'/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/lib-dynload', 
'/Users/manasi/git/rest-api/.venv/lib/python3.8/site-packages']
[Mon Apr 27 11:35:46.457790 2020] [wsgi:error] [pid 6369] [remote 
::1:53553] cx_Oracle.version: 7.3.0
[Mon Apr 27 11:35:46.458170 2020] [wsgi:error] [pid 6369] [remote 
::1:53553] mod_wsgi (pid=6369): Exception occurred processing WSGI script 
'/var/tmp/mod_wsgi-localhost:8080:501/htdocs/my-app/'.
[Mon Apr 27 11:35:46.459085 2020] [wsgi:error] [pid 6369] [remote 
::1:53553] Traceback (most recent call last):
[Mon Apr 27 11:35:46.459128 2020] [wsgi:error] [pid 6369] [remote 
::1:53553]   File 
"/Users/manasi/git/rest-api/.venv/lib/python3.8/site-packages/mod_wsgi/server/__init__.py",
 
line 1514, in handle_request
[Mon Apr 27 11:35:46.459141 2020] [wsgi:error] [pid 6369] [remote 
::1:53553]     return self.application(environ, start_response)
[Mon Apr 27 11:35:46.459155 2020] [wsgi:error] [pid 6369] [remote 
::1:53553]   File "/Users/manasi/git/rest-api/my-app/wsgi.py", line 13, in 
application
[Mon Apr 27 11:35:46.459164 2020] [wsgi:error] [pid 6369] [remote 
::1:53553]     connection = 
orcl.connect('user/password@localhost:1521/XEPDB1')
[Mon Apr 27 11:35:46.459185 2020] [wsgi:error] [pid 6369] [remote 
::1:53553] cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle 
Client library: "dlopen(libclntsh.dylib, 1): image not found". See 
https://oracle.github.io/odpi/doc/installation.html#macos for help

-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/modwsgi/1b56770b-c269-4204-97f3-d84fa668534a%40googlegroups.com.

Reply via email to