英文:
When installing an old version of a package, can I install only compatible versions of dependent packages?
问题
我在一个虚拟环境中使用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`
```python:
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
时,我可以强制只安装与之兼容的依赖包吗?
<details>
<summary>英文:</summary>
I'm using Python 3.7.4 in a venv environment.
I ran `pip install teradataml==17.0.0.3` which installs a bunch of dependent packages, including `sqlalchemy`.
At the time, it installed `SQLAlchemy==2.0.2`.
I ran the below code, and received this error:
`ArgumentError: Additional keyword arguments are not accepted by this function/method. The presence of **kw is for pep-484 typing purposes`
```python:
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()
If I install SQLAlchemy==1.4.26
before teradataml
, I no longer get the error and successfuly connect.<br/>
This suggests SQLAlchemy==2.0.2
is not compatible with teradataml==17.0.0.3
.
I expected installing an older version of teradataml
would also install older, compatible versions of dependent packages.<br>
When I install teradataml==17.0.0.3
, can I force only install compatible versions of dependent packages?
答案1
得分: 1
我们已经注意到在SQLAlchemy 2.0.x版本中引入的兼容性问题。新的2.0.x版本直接影响了teradatasqlalchemy包中的Teradata SQL方言。作为临时措施,请将SQLAlchemy降级到1.4.46版本。
Teradata工程部门正在努力使teradatasqlalchemy包与更新版本兼容,并计划在2023年3月发布一个新的包。
英文:
We are aware of the compatibility issues that were introduced in SQLAlchemy package 2.0.x versions. The new 2.0.x package directly affects the Teradata SQL dialect in the teradatasqlalchemy package. As a temporary measure, please downgrade SQLAlchemy to 1.4.46.
Teradata Engineering is working on making the teradatasqlalchemy package compatible with the newer versions and a new package is slated to be released in March 2023.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论