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-python
(mysql-connector
的新版本)之后安装了 mysql-connector
(已弃用)。
因此,使 mysql-connector-python
成为 python 可以使用的盒子上唯一的库。
以下曾经对我有用。 由于某种原因,它不再存在了。
>>> 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-python
(mysql-connector
的新版本)之后安装了 mysql-connector
(已弃用)。
因此,使 mysql-connector-python
成为 python 可以使用的盒子上唯一的库。