django中连接Mysql数据库兼容Python 2.x 与 Python

时间:2022-04-06 19:18:45

Python 2.x的官方支持要到2020就截止了,djagon 2.0以上的版本则明确不支持python 2.7版本,需要python 3.5+,而有的项目有的需要兼容性,比如要连接Mysql数据库的第三方库, Python 2.x使用的是MySQLdb模块,Python 3.x使用的是pymysql, 是django框架中,经常会报没有MySQLdb模块的错误,这个因为里面的base.py里面没有导入MySQLdb

C:\Users\Administrator>python3
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'MySQLdb'

但里面确使用MySQLdb的属性,这个时候处理起来也很简单,只需要:

>>> import pymysql
>>> pymysql.install_as_MySQLdb()
>>> import MySQLdb
>>>

执行了上面两条语句,就可以兼容pymysql和MySQLdb

备注:

1. 在Python 2.x似乎不能直接使用pip install 来安装

2. 在Python 3.x中可以使用python3 -m pip install pymysql来安装,非常方便!