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)
TypeError:makedsn()不带关键字参数
以及以下以及其他代码。
TypeError:normalize()参数2必须是unicode,而不是str
这是python的兼容性问题吗?
从你的问题中回答基本上是不可能的。
错误消息告诉您无法传入service_name="TUNET1"
。要弄清楚它应该导航到makedsn
方法(导航 - >声明)并查看签名。
第二条错误消息告诉您将要传递的字符串转换为unicode。
你确定PyCharm正在使用你认为的解释器吗?
问题是cx_Oracle安装了多个版本。我删除了一个,事情又恢复了。