मेरा कोड हमेशा यही करता है:
import os
import platform
if platform.system() == "Darwin":
cx_Oracle.init_oracle_client(lib_dir=os.environ.get("HOME")+"/Downloads/instantclient_19_8")
यह सबसे सुविधाजनक उपाय है। यदि आपको 'पहले से ही आरंभिक' त्रुटि मिल रही है, तो सुनिश्चित करें कि आप केवल init_oracle_client()
पर कॉल करें। एक बार प्रति पायथन प्रक्रिया।
वैकल्पिक रूप से आप अपना cx_Oracle बाइनरी पा सकते हैं जैसे:
[email protected]:~$ python
Python 3.9.6 (default, Aug 20 2021, 13:36:17)
[Clang 12.0.5 (clang-1205.0.22.11)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cx_Oracle
>>> cx_Oracle
<module 'cx_Oracle' from '/Users/cjones/.local/lib/python3.9/site-packages/cx_Oracle.cpython-39-darwin.so'>
और फिर, टर्मिनल विंडो में, कुछ ऐसा करें:
ln -s $HOME/Downloads/instantclient_19_8/libclntsh.dylib $HOME/.local/lib/python3.9/site-packages
यह macOS के लिए है - इसे पढ़ने वाले किसी भी Linux उपयोगकर्ता को पता होना चाहिए कि यह समाधान Linux पर काम नहीं करेगा।
oradiag_xxx
निर्देशिका Oracle "क्लाइंट" निशान के लिए है। आप इसे किसी भी समय हटा सकते हैं।