python-3.x 安装旧版本的软件包时,我可以只安装相关软件包的兼容版本吗?

9jyewag0  于 2023-02-26  发布在  Python
关注(0)|答案(1)|浏览(141)

我在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.2teradataml==17.0.0.3不兼容。
我预计安装旧版本的teradataml也会安装旧的、兼容版本的依赖包。
当我安装teradataml==17.0.0.3时,我可以强制只安装相关软件包的兼容版本吗?

1mrurvl1

1mrurvl11#

我们知道SQLAlchemy程序包2.0.x版本中引入了兼容性问题。新的2.0.x程序包直接影响teradatasqlchemy程序包中的Teradata SQL方言。作为临时措施,请将SQLAlchemy降级到1.4.46。
Teradata Engineering正致力于使teradatasqlalchemy包与新版本兼容,新包计划于2023年3月发布。

相关问题