当前位置: 代码迷 >> 综合 >> Django学习-mysql环境部署:mac-mysql8.0安装+python3.7+django2.2+Pymysql=0.93 【Django开发06】
  详细解决方案

Django学习-mysql环境部署:mac-mysql8.0安装+python3.7+django2.2+Pymysql=0.93 【Django开发06】

热度:73   发布时间:2023-11-16 23:19:15.0

mac使用brew安装mysql

1 先查看mac上边有没有安装brew;

  brew -v  可查看brew版本

  没有安装可先安装brew:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2 检查brew能否正常工作:brew doctor

3 更新brew包:brew update

4 安装mysql:brew insatll mysql

5 后台启动mysql:brew services start mysql   // 重启:brew services restart mysql

6 启动MySQL服务:mysql.server start    //  需要权限时可以用 sodu mysql.server start 启动

7 设置密码:mysql_secure_installation

8 连接mysql:mysql -uroot -p<you password>  例子:mysql -uroot -p123456  也可以输入 mysql -uroot -p 回车输入密码

解决办法:

    步骤:报错意为“需要mysqlclient 1.3.13或更高版本;您有0.9.3版本”,所以下载更高版本的mysqlclient(大于1.3.13版本)

Django连接MySQL时默认使用MySQLdb驱动,但MySQLdb不支持Python3,因此这里将MySQL驱动设置为pymysql。

首先pip安装pymysql:

  1. #通过pip安装pymysql

  2. pip install pymysql

然后在工程的__init__.py文件中写入如下代码:

  1. #__init__.py

  2. import pymysql

  3. pymysql.install_as_MySQLdb()

    方法一:django版本降至2.14版本以下即可。

如果想继续使用django2.2请使用方法二:

    方法二:找到python文件下的django文件>db文件>backends>mysql>base.py

打开后将如下代码注释:

  1. if version < (1, 3, 13):

  2. raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)

注释好了之后重新启动django服务器:

python manage.py runserver

但是会报一个错误,别着急:

报错信息:

AttributeError: 'str' object has no attribute 'decode'

解决办法:

找到python文件下的django文件>db文件>backends>mysql>operations.py

打开后ctrl+f搜索query.decode

将decode改为encode即可。

 

 

  相关解决方案