Python兼容性问题?

Python compatibility issue?

Python 对一些用于 运行 没有任何问题的函数抛出错误。我在我的系统上安装了 pycharm 并升级了一些软件包。

def __init__( self, dbUrl, username, password, use_service_name=False ):
    dsn = cx_Oracle.makedsn(dbUrl,1521, service_name="TUNET1") if use_service_name else cx_Oracle.makedsn(dbUrl,1521,"TUNET1")
    self.dbConn = cx_Oracle.connect(username, password,  dsn)

类型错误:makedsn() 没有关键字参数

下面还有另一个代码。

TypeError: normalize() 参数 2 必须是 unicode,而不是 str

这是与 python 的一些兼容性问题吗?

根据你的问题基本无法回答。

错误信息告诉你不能传入service_name="TUNET1"。要弄清楚它应该是什么,请导航到 makedsn 方法(导航 -> 声明)并查看签名。

第二条错误消息告诉您将传递的字符串转换为 unicode。

您确定 PyCharm 正在使用您认为的解释器吗?

问题是 cx_Oracle 安装了多个版本。我删除了一个,一切又恢复正常了。