安装 cx_Oracle 失败
Installation cx_Oracle fails
系统:MacBook Pro M1 16GB 内存
Python 3.8.5
我正在尝试安装 cx_Oracle 模块,但它确实有效。
sudo easy_install cx_Oracle
--> 成功
从 Oracle 安装 Basic 和 SDK 客户端,按照自述文件中的安装脚本完成从“Stick”的复制。
现在这些复制的文件夹就在我的下载目录中,我想,我需要将两个客户端 ([instanclient...]) 放到一个特定的目录中,但不知道在哪里。
所以...
当我尝试 运行 终端中的 python 程序时出错:Traceback (most recent call last): File "app.py", line 5, in <module> connection = cx_Oracle.connect("hr", "hr", "10.0.0.22/orclpdb") cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: "dlopen(libclntsh.dylib, 1): image not found". See https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html for help
pyCharm 中的错误:
No module named 'cx_Oracle'
此外,这个解决方案对我不起作用,因为我在 /lib 中没有 oracle 文件夹 https://github.com/oracle/node-oracledb/issues/1244#issuecomment-624646368
我需要将文件夹放在哪里,以便我可以在 pyCharm 中使用 'cx_Oracle' 模块?
提前致谢
按照位于此处的文档中的说明进行操作:https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html。
只要 cx_Oracle 安装在 PyCharm 使用的 Python 中,您就应该能够看到它。
[PyCharm 修正如下]
我解决了这个问题,方法是使用
cx_Oracle.init_oracle_client()
文档中引用的命令。
虽然我得到了结果,但它只在命令行中有效。如果我尝试在 pyCharm 中使用它,它仍然无法识别我的 cx_Oracle
模块。 (我会为这个错误开一张新票)
这是示例代码:
import cx_Oracle
cx_Oracle.init_oracle_client(lib_dir="/Users/benreisinger/Documents/testclients/instantclient_19_8", config_dir=None, error_url=None, driver_name=None)
# Connect as user "hr" with password "welcome" to the "orclpdb1" service running on this computer.
connection = cx_Oracle.connect("hr", "hr", "10.0.0.22/orclpdb")
cursor = connection.cursor()
cursor.execute("""
select e.first_name AS fname, e.last_name AS lname, e.department_id, d.department_name
from employees e
inner join departments d
on (e.department_id = d.department_id)
""")
for first_name, last_name, department_id, department_name in cursor:
print("Values:", first_name, last_name, department_id, department_name)
仅在终端中显示结果!
修复:PyCharm->首选项->项目:[您的项目]-> Python 解释器-> 添加 cx-Oracle 包
--> 通过此修复,PyCharm 最终识别了 cx_Oracle 模块 :)
系统:MacBook Pro M1 16GB 内存
Python 3.8.5
我正在尝试安装 cx_Oracle 模块,但它确实有效。
sudo easy_install cx_Oracle
--> 成功
从 Oracle 安装 Basic 和 SDK 客户端,按照自述文件中的安装脚本完成从“Stick”的复制。
现在这些复制的文件夹就在我的下载目录中,我想,我需要将两个客户端 ([instanclient...]) 放到一个特定的目录中,但不知道在哪里。 所以...
当我尝试 运行 终端中的 python 程序时出错:Traceback (most recent call last): File "app.py", line 5, in <module> connection = cx_Oracle.connect("hr", "hr", "10.0.0.22/orclpdb") cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: "dlopen(libclntsh.dylib, 1): image not found". See https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html for help
pyCharm 中的错误:
No module named 'cx_Oracle'
此外,这个解决方案对我不起作用,因为我在 /lib 中没有 oracle 文件夹 https://github.com/oracle/node-oracledb/issues/1244#issuecomment-624646368
我需要将文件夹放在哪里,以便我可以在 pyCharm 中使用 'cx_Oracle' 模块?
提前致谢
按照位于此处的文档中的说明进行操作:https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html。
只要 cx_Oracle 安装在 PyCharm 使用的 Python 中,您就应该能够看到它。
[PyCharm 修正如下]
我解决了这个问题,方法是使用
cx_Oracle.init_oracle_client()
文档中引用的命令。
虽然我得到了结果,但它只在命令行中有效。如果我尝试在 pyCharm 中使用它,它仍然无法识别我的 cx_Oracle
模块。 (我会为这个错误开一张新票)
这是示例代码:
import cx_Oracle
cx_Oracle.init_oracle_client(lib_dir="/Users/benreisinger/Documents/testclients/instantclient_19_8", config_dir=None, error_url=None, driver_name=None)
# Connect as user "hr" with password "welcome" to the "orclpdb1" service running on this computer.
connection = cx_Oracle.connect("hr", "hr", "10.0.0.22/orclpdb")
cursor = connection.cursor()
cursor.execute("""
select e.first_name AS fname, e.last_name AS lname, e.department_id, d.department_name
from employees e
inner join departments d
on (e.department_id = d.department_id)
""")
for first_name, last_name, department_id, department_name in cursor:
print("Values:", first_name, last_name, department_id, department_name)
仅在终端中显示结果!
修复:PyCharm->首选项->项目:[您的项目]-> Python 解释器-> 添加 cx-Oracle 包
--> 通过此修复,PyCharm 最终识别了 cx_Oracle 模块 :)