按照本教程,当我尝试python manage.py runserver
时,出现以下错误
django.db.utils.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: "dlopen(libclntsh.dylib, 0x0001): tried: 'libclntsh.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibclntsh.dylib' (no such file), '/usr/lib/libclntsh.dylib' (no such file, not in dyld cache), 'libclntsh.dylib' (no such file), '/usr/lib/libclntsh.dylib' (no such file, not in dyld cache)". See https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html for help
我已经安装了cx_oracle和oracledb,什么都没有工作。我安装了macOS(英特尔x86)的Oracle即时客户端,钱包也被拉到了正确的位置。
是否有可以设置的环境变量,以便使用cx_oracle或oracledb告诉Oracle库的位置?
1条答案
按热度按时间ki1q1bka1#
如果python-oracledb出现此错误,则应用程序包含对
init_oracle_client()
的调用。可以删除所有此类调用并使用默认的精简模式。如果要继续使用python-oracledb“密集”模式,或者使用的是旧版本的驱动程序(cx_Oracle),请更改
init_oracle_client()
调用并传递lib_dir
参数。(这在macOS Intel和Windows上有效)。请参阅在macOS上设置Oracle客户端库目录。例如:要连接到Oracle ADB,请注意python-oracledb精简模式和密集模式之间的语法不同。请参阅连接到Oracle云自治数据库。