Mã của tôi luôn thực hiện điều này:
import os
import platform
if platform.system() == "Darwin":
cx_Oracle.init_oracle_client(lib_dir=os.environ.get("HOME")+"/Downloads/instantclient_19_8")
Đây là giải pháp thuận tiện nhất. Nếu bạn gặp lỗi 'đã được khởi tạo', hãy đảm bảo rằng bạn chỉ gọi init_oracle_client()
một lần mỗi quy trình Python.
Ngoài ra, bạn có thể tìm mã nhị phân cx_Oracle của mình như:
[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'>
và sau đó, trong cửa sổ dòng lệnh, hãy làm như sau:
ln -s $HOME/Downloads/instantclient_19_8/libclntsh.dylib $HOME/.local/lib/python3.9/site-packages
Phần mềm này dành cho macOS - bất kỳ người dùng Linux nào đọc phần này nên lưu ý rằng giải pháp này sẽ không hoạt động trên Linux.
oradiag_xxx
thư mục dành cho các dấu vết "khách hàng" của Oracle. Bạn có thể xóa nó bất cứ lúc nào.