概述
python3安装django初始化数据库报错
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclie
百度得到的结论是python3不支持mysqldb了,可以使用pymysql来代替
处理方法
找到(是默认生成的那个模块,就是用命令生成django项目的时候默认生成的第一个模块)自己项目模块的__init__.py文件,
配置一下pymysql就好。
import pymysql
pymysql.install_as_MySQLdb()
接着报错
说mysqlclient版本太低
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/backends/mysql/base.py", line 37, in raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
参考解决连接
django 使用PyMySQL连接mysql
解决Django配置pymysql因版本报错的解决方案
主要是修改一下文件的内容,这里记录一下mac的安装路径。
MAC电脑python默认的安装路径
base.py的文件路径
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/backends/mysql
修改一下内容,注释掉这两行
编码问题报错(这个问题为我没遇到,先记录一下,说不定以后用得着)
AttributeError: ‘str’ object has no attribute ‘decode’
解决方法
修改文件operations.py,这个文件的路径和上面的那个文件的路径上一样的。
#找到operations.py文件(146行),将decode改为encode
#linux vim 查找快捷键:?decode
if query is not None:
query = query.decode(errors='replace')
return query
#改为
if query is not None:
query = query.encode(errors='replace')
return query
再试试
python3 manage.py migrate
如果成功了的话会数据库会生成这些表,这些表其实也可以不用的。
具体看文档 编写你的第一个 Django 应用,第 2 部分
最后
以上就是细心耳机为你收集整理的python3连接mysql报错_Python3替换MySQLdb,使用pymysql代替(python3连接mysql)(python3创建django默认数据库)...的全部内容,希望文章能够帮你解决python3连接mysql报错_Python3替换MySQLdb,使用pymysql代替(python3连接mysql)(python3创建django默认数据库)...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复