Sunday, May 18, 2014

การใช้ python 3.4 เชื่อมกับ pymysql module



เริ่มต้นก็ติดตั้ง python 3.4 ซึ่งใช้งานได้ปกติ
แต่ผลการเชื่อมต่อกับ mysql พบว่าไม่มี module มาให้ ต้องหาติดตั้งเพิ่มเอง
ปัญหาที่พบคือ
ImportError: No module named 'mysqldb'

แล้วได้ module pymysql จาก summet.com มาติดตั้ง
http://www.summet.com/dmsi/html/pymysql.html
ซึ่งใช้ได้กับ python 3 (เคยพยายามใช้ connector จาก mysql แล้วไม่ได้)
ติดตั้งครั้งแรก โดยใช้คำสั่ง DOS> py setup.py install
แล้วเข้า DOS>py หรือ DOS>python
ทดสอบการทำงาน >>> import pymysql

มีตัวอย่าง code เชื่อมต่อ mysql ที่บริการผ่าน xampp ดังนี้
#!/usr/bin/python
import pymysql
db = pymysql.connect(host="localhost",user="root",passwd="",db="mysql")
# ImportError: No module named 'MySQLdb'
# https://www.python.org/downloads/release/python-340/
# http://www.summet.com/dmsi/html/codesamples/pymysql3.zip
# DOS> py setup.py install
rec = db.cursor()
rec.execute("select * from user")
for row in rec.fetchall() :  print(row[0])
---
Output
b'localhost'
b'linux'
b'localhost'
b'linux'
b'localhost'
---

ทดสอบ connector ของ mysql บน win7 อีกครั้ง
ที่ผูกกับ python 3.3 บน win7 พบว่า import mysql ได้
แต่ถ้าติดตั้งระหว่าง 3.3 กับ 3.4 หลายรอบจะทำให้ connector สับสน
ต้องถอน 3.4 ออก แล้วติดตั้ง 3.3 ตามด้วย connector
ก็จะ import ได้ปกติ
ณ วันนี้  19 พ.ค.57 ทาง mysql.com ยังไม่มี connector รองรับ 3.4
เชื่อว่างอีกไม่ช้าไม่นานก็คงมีมาให้ครับ
---
รวมตัวติดตั้ง python3.3 + mysql connector for 3.3
https://www.facebook.com/download/600542033374279/python33%2Bmysqlconnector_msi.zip

No comments :

Think different