AttributeError: __enter__ error when trying to query from MySQL

AttributeError: __enter__ error when trying to query from MySQL

以下曾经对我有用。 由于某种原因,它不再存在了。

>>> import configparser
>>> from mysql.connector import connect, Error
>>> with open('file.cfg', 'r') as f:
...     config_string = '[s]\n' + f.read()
...
>>> config = configparser.ConfigParser()
>>> config.read_string(config_string)
>>> with connect(host=config.get('s','HOST'),user=config.get('s','USER'),password=config.get('s','PASS'),database="db") as connection:
...     with connection.cursor() as cursor:
...             cursor.execute("select dt from tab limit 1")
...
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: __enter__
>>>

mysql_connector-2.2.9-cp37-cp37m-linux_x86_64.whl

Python 3.7.6(默认,2020 年 2 月 26 日,20:54:15)

解决方案:

pip uninstall mysql-connector-python
pip uninstall mysql-connector
pip install mysql-connector-python

问题,正如我所见,我在 mysql-connector-pythonmysql-connector 的新版本)之后安装了 mysql-connector(已弃用)。 因此,使 mysql-connector-python 成为 python 可以使用的盒子上唯一的库。