我在venv环境下使用Python 3.7.4,运行了pip install teradataml==17.0.0.3
,它安装了一堆依赖包,包括sqlalchemy
,当时安装的是SQLAlchemy==2.0.2
。
我运行了下面的代码,并收到了这个错误:ArgumentError: Additional keyword arguments are not accepted by this function/method. The presence of **kw is for pep-484 typing purposes
from teradataml import create_context
class ConnectToTeradata:
def __init__(self):
host = 'AWESOME_HOST'
username = 'johnnyMnemonic'
password = 'keanu4life'
self.connection = create_context(host = host, user = username, password = password)
def __del__(self):
print("Closing connection")
self.connection.dispose()
ConnectToTeradata()
如果我在安装teradataml
之前安装SQLAlchemy==1.4.26
,我就不再收到错误并成功连接。
这表明SQLAlchemy==2.0.2
与teradataml==17.0.0.3
不兼容。
我预计安装旧版本的teradataml
也会安装旧的、兼容版本的依赖包。
当我安装teradataml==17.0.0.3
时,我可以强制只安装相关软件包的兼容版本吗?
1条答案
按热度按时间1mrurvl11#
我们知道SQLAlchemy程序包2.0.x版本中引入了兼容性问题。新的2.0.x程序包直接影响teradatasqlchemy程序包中的Teradata SQL方言。作为临时措施,请将SQLAlchemy降级到1.4.46。
Teradata Engineering正致力于使teradatasqlalchemy包与新版本兼容,新包计划于2023年3月发布。