版本声明 python3 centos6.8
问题一:
import MySQLdb
import MySQLdb.cursors
python3目前不支持 MySQLdb 需要在前面加入 import pymysql
pymysql.install_as_MySQLdb() 如果没有安装 pymysql 需要提前安装好pymysql
之后可以使用import MySQLdb
import MySQLdb.cursors 以及MySQLdb的操作方法
问题二:
在pipelines.py文件中,类方法前 记得加上声明 @classmethod 否则会报错
def __init__(self, dbpool):
self.dbpool = dbpool
@classmethod
def from_settings(cls, settings):
#读取settings中配置的数据库参数
dbparams = dict(
host=settings['MYSQL_HOST'],
db=settings['MYSQL_DBNAME'],
user=settings['MYSQL_USER'],
passwd=settings['MYSQL_PASSWD'],
charset='utf8',
cursorclass=MySQLdb.cursors.DictCursor,
use_unicode=False,
)
dbpool = adbapi.ConnectionPool('MySQLdb', **dbparams)
return cls(dbpool)