我需要将数据保存到MySQL数据库中,我的问题是我找不到软件包...
探索的解决方案:
尝试从Pycharm安装MySQLdb表示不存在。
因此,如果有人可以替代python 3.7,或者知道如何获得3.7版的连接器,我会很高兴的。
答案 0 :(得分:6)
mysqlclient
正式支持python3.7
,您可以在这里找到它:
https://pypi.python.org/pypi/mysqlclient
1)您可以下载,PyMySQL 0.9.2
2)将文件夹pymysql
提取并复制到python Lib
文件夹中
3),对于连接,您可以这样做(例如创建一个文件freeman.py
)
#!/usr/bin/env python
import pymysql
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='', db='freemanDB')
cur = conn.cursor()
cur.execute("SELECT * FROM users")
print(cur.description)
print()
for row in cur:
print(row)
cur.close()
conn.close()
答案 1 :(得分:3)
有两种安装MySQL连接器的方法:
pip
从PyPI存储库中pip
是Python随附的。* MySQL安装程序已过时。它仅允许您下载3.6版的连接器,因为这是它被编码为检测到的唯一版本。但是,mysql-connector-python可与Python 3.7.0一起使用。
您可以使用名为pip
的内置Python包管理器为Python 3.7安装mysql-connector-python:
PS C:\Users\Ryan> pip install mysql-connector-python
Collecting mysql-connector-python
Downloading https://files.pythonhosted.org/packages/2d/65/3fc902c0f7635912800c6b935313b99b9d4426419ef7ba04f76231b24923/mysql_connector_python-8.0.12-py2.py3-none-any.whl (300kB)
100% |████████████████████████████████| 307kB 1.1MB/s
Collecting protobuf>=3.0.0 (from mysql-connector-python)
Downloading https://files.pythonhosted.org/packages/77/78/a7f1ce761e2c738e209857175cd4f90a8562d1bde32868a8cd5290d58926/protobuf-3.6.1-py2.py3-none-any.whl (390kB)
100% |████████████████████████████████| 399kB 1.8MB/s
Requirement already satisfied: setuptools in c:\users\ryan\appdata\local\programs\python\python37\lib\site-packages (from protobuf>=3.0.0->mysql-connector-python) (40.4.3)
Collecting six>=1.9 (from protobuf>=3.0.0->mysql-connector-python)
Using cached https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl
Installing collected packages: six, protobuf, mysql-connector-python
Successfully installed mysql-connector-python-8.0.12 protobuf-3.6.1 six-1.11.0
实际上,官方documentation表示这是安装MySQL连接器的推荐方法。
您可以显示您安装的所有软件包(不是标准库):
PS C:\Users\Ryan> pip list
Package Version
---------------------- -------
mysql-connector-python 8.0.12
pip 18.0
protobuf 3.6.1
setuptools 40.4.3
six 1.11.0
您可以使用pip -V
显示pip的版本以及软件包的安装位置。例如,在其下方的文件夹路径中显示“ \ python37”,因此将其安装到了我安装的Python 3.7.0中。
PS C:\Users\Ryan> pip -V
pip 18.0 from c:\users\ryan\appdata\local\programs\python\python37\lib\site-packages\pip (python 3.7)
PS C:\Users\Ryan> py -V
Python 3.7.0
如果需要将其安装到Windows上安装的另一个(较旧)Python版本,则可以使用-#.#
在命令行中插入版本号作为开关。例如:
py -3.6 -m pip install mysql-connector-python
答案 2 :(得分:2)
pip install mysql-connector-python
cmd上的此命令将解决此问题。如果您遇到问题,请以管理员身份运行cmd。
答案 3 :(得分:0)
您必须安装flask_mysqldb软件包才能使用MySQL
pip install flask_mysqldb
要使用它:
from project import app
from flask_mysqldb import MySQL
配置MySQL:
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = 'yourpassword'
app.config['MYSQL_DB'] = 'mydbfile'
app.config['MYSQL_CURSORCLASS'] = 'MyCursor'