zoukankan      html  css  js  c++  java
  • 在python3下使用peewee

    在python3下使用peewee-2.1.4做ORM。连接MySQL数据库,提示需要MySQLdb模块,发现MySQLdb模块不支持python3,各种折腾、google不得其法。

    然后又试着使用MySQL官方forPython驱动 Connector/Python
    需要对qeewee代码改动
    改动的渐入佳境,沾沾自喜中发现peewee的代码中有如下片段

    try:
    import MySQLdb as mysql
    except ImportError:
    try:
    import pymysql as mysql
    except ImportError:
    mysql = None

    基本上就是说如果找不到MySQLdb那么就找pymysql,

    于是在https://pypi.python.org/pypi搜索pymysql发现PyMySQL3 0.5
    折腾了一天的python3中使用peewee连接mysql告破。

    安装PyMySQL3 0.5

    wget https://pypi.python.org/packages/source/P/PyMySQL3/PyMySQL3-0.5.tar.gz

    tar -xzf PyMySQL3-0.5.tar.gz

    cd PyMySQL3-0.5

    sudo python3 setup.py install

    接着将

    try:
    import MySQLdb as mysql
    except ImportError:
    try:
    import pymysql as mysql
    except ImportError:
    mysql = None

    改为

    try:
    import pymysql as mysql
    except ImportError:
    try:
    import MySQLdb as mysql
    except ImportError:
    mysql = None

    这里还有一点需注意, python3中,粗略地说 .... 在Python 3,所有的字符串都是使用Unicode编码的字符序列, 无需use_unicode=True,

    所以将peewee.py 1882行的 use_unicode=True 注释. 否则会出现编码错误.

  • 相关阅读:
    join函数——Gevent源码分析
    代理上网(ssh 动态端口转发)
    内核热patch
    技术债
    mysql 隔离级别与间隙锁等
    python type
    django : related_name and related_query_name
    ssh 卡主
    logistics regression
    __new__ 和 __init__
  • 原文地址:https://www.cnblogs.com/luxiaorui/p/3931027.html
Copyright © 2011-2022 走看看