首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

django +mysql 为了把 utf8 改成 utf8mb4 我装了 mysql5.6, 在执行 Python manage.py 的时候总是出现这错

  •  
  •   python30 · 48 天前 · 1065 次点击
    这是一个创建于 48 天前的主题,其中的信息可能已经有所发展或是发生改变。



    这是 mysql 里的日志






    这是我 settings.py 里的数据库配置

    DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'xxxx',
    'USER': 'xxxxx',
    'PASSWORD': 'xxxxx',
    'HOST': 'localhost',
    'PORT': '3306',
    'OPTIONS':{
    'init_command':"SET sql_mode='STRICT_TRANS_TABLES'",
    'charset':'utf8mb4',
    },
    }
    }


    不知道哪里有问题 ?

    搞了一晚上有点头晕
    再不行就得明天重装了
    15 回复  |  直到 2019-01-04 10:49:47 +08:00
        1
    111qqz   48 天前 via Android
    看起来是不支持 mysql ? django 版本是啥?
        2
    shylocks   48 天前
    DATABASE 前加上
    import pymysql
    pymysql.install_as_MySQLdb()
    试试?
        3
    0xABCD   48 天前 via Android
    只支持 postgres/oracle/sqlite3 ?啥版本的 Django ?
        5
    python30   47 天前
    @111qqz django1.11.12
        6
    python30   47 天前
    @0xABCD django 1.11
        7
    python30   47 天前
    @shylocks 还是不行,
    我是用 yum 安装的 mysql5.6
    我删了重装 mysql 试试。
        8
    huisezhiyin   47 天前
    你没有按 python 和 mysql 依赖包
    试试 yum install MySQL-python
        9
    python30   47 天前
    @huisezhiyin 安装了这个了。
    也运行了 pip install pymsql
    还是不行。不知道是还少哪个包
        10
    xpresslink   47 天前
    第一步安装驱动:
    pip install pymysql
    注意你要是使用了虚拟环境一定要在激活之后再执行这条命令。

    第二步启用驱动:
    在项目的 settings.py 所在的那个目录中找到__init__.py
    在前两行加下面两句
    import pymysql
    pymysql.install_as_MySQLdb()
        11
    izoabr   47 天前
    问题还没到 MYSQL 呢,Python 的 mysql 驱动都还没有,怎么连。

    去查一下 django mysql
        12
    julyclyde   47 天前
    单就错误信息来看,这事和数据库服务器那边没啥关系,所以你删除再重装 mysql 也不会有任何效果的
        13
    julyclyde   47 天前
    /usr/local/lib/python2.7/site-packags/django/db/backends/mysql/
    看一下这个路径里有文件没
        14
    python30   47 天前
    多谢各位
    我用 centos 6.9 安装自带的 mysql5.1 版本。没有 pip install MySQL-python。
    这样可以。

    我在 centos6.9 上 把 mysql 升级到 5.6 得需要 pip install MySQL-python pymysql

    于是通过下面:

    pip install MySQL-python
    假设错误发生,须要先安装一个开发包:

    yum install python-devel
    假设还是报错,执行:

    yum install mysql-devel.x86_64
    然后再执行 pip 命令安装 mysql-python

    然后就可以了
    现在也在由 utf8 改用 utf8mb4 数据库了


    多谢各位
        15
    julyclyde   46 天前
    有 pymysql 的情况下就完全不依赖于 mysql-dev
    这正是“其它 Linux 发行版”里面,dango 依赖 pymysql 而不依赖 mysql-python 的原因
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   817 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 17ms · UTC 21:10 · PVG 05:10 · LAX 13:10 · JFK 16:10
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1