概述
解决python3下mysqldb不支持-只有这个是成功的!
转载
解决python3下mysqldb不支持
2017年10月09日 18:33:24 JunFeng666 阅读数 12536更多
分类专栏: Others
MySQLdb 只适用于python2.x,发现pip装不上。它在py3的替代品是:import pymysql
安装pymysql
一些框架默认仍然用的是MySQLdb,但是python3已经不支持MySQLdb,取而代之的是pymysql,因此运行的时候会报
ImportError: No module named ‘MySQLdb’
(老乐是在使用sqlalchemy的时候出现的错误)
在sqlalchemy下的init.py中写入以下两行
路径是/usr/local/lib/python3.6/site-packages/sqlalchemy
pymysql.install_as_MySQLdb(),这句最好用。
import pymysql
pymysql.install_as_MySQLdb()
- 1
- 2
- 3
注意用sudo打开,否则不能保存
问题解决!
——-补充说明
如果是要部署到服务器,建议还是解决一下环境的问题,单单只在自己本地电脑是可以解决这个问题,但是有可能放到服务器的时候,服务器仍然不能运行甚至挂掉
转自 —-栖迟於一丘
原文链接(https://www.hongweipeng.com/index.php/archives/1142/)
##################################################################
让python3.X支持MySQLDB的终极解决方案
2018年05月22日 16:22:47 luanxiyuan 阅读数 5786更多
分类专栏: 编程语言 - Python
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/luanxiyuan/article/details/80407085
python初学者在使用SqlAlchemy时候遇到的坑最多,国内网站的开发这好多都是班门弄斧,将别人的解决方案直接ctrl+V放到自己的博客中,也不知道是不是真的好用,这个对一些想要查找解决方案的群众是个莫大的干扰,有多少人遇到问题尝试上面说的各种方法,但最后问题还在那里,一动不动。话不多说,我遇到的问题是:
先说下背景:python3.6(这个很重要!python生态发展至今,各版本的包支持性鱼龙混杂,所以大家在查找问题时候一定要先声明你得版本号)
在使用flask-migrate包,将模型对象转化为数据库表的过程中,需要分别执行三个命令:
-
python manage.py db init //创建migrate环境
-
python manage.py db migrate //生成migrate版本文件
-
python manage.py db upgrade //执行migrate更新
在执行init步骤是就开始报如下错误:
这时候不要相信网上说的一些方案,什么吧mysql的lib目录下的dll文件copy到python的site-packages目录下,什么网上下载两个dll文件放到python的site-packages目录下,统统不要信。
原因是:MySQLdb不支持python3.x,没错就这么简单
解决方案:python3.x中用了pymysql来代替MySQLdb,所以先要将pymysql包安装上:
pip install pymysql
再尝试一下,还有问题。因为包虽然安装了,但是默认他还是会找MySQLdb,所以我们需要手动指定一下,在应用主文件(__init.py__/app.py)中:
-
import pymysql
-
pymysql.install_as_MySQLdb() //手动指定将MySQLdb转给pymysql处理
完工。
#########################
#####################################
原因
MySQLdb
只适用于python2.x,发现pip装不上。它在py3的替代品是:import pymysql
pip install pymysql
django+mysql
而Django默认的还是使用MySQLdb
:执行会报:ImportError: No module named 'MySQLdb'
解决: 在站点的 __init__.py
文件中添加
import pymysql
pymysql.install_as_MySQLdb()
pymysql.install_as_MySQLdb(),这句最好用。
#######################
python3不再支持mysqldb 请用pymysql和mysql.connector
2016年04月13日 20:54:18 bwlab 阅读数 18788更多
分类专栏: Linux运维
虽然大家可能在python2.x中用习惯了mysqldb,但是在python3.x中已经不支持那个组件了。
取而代之的是:
import pymysql
所以,大家pip起来吧。另外,mysql官方出了个mysql.connector,也可以用。
我这用的例子如下:
import pymysql
conn = pymysql.connect(host=’127.0.0.1’, port=3306, user=’root’, passwd=’test’,
db=’mysql’)
cur = conn.cursor()
cur.execute(“SELECT * FROM user”)
for r in cur.fetchall():
print(r)
#cur.close()
conn.close()
#######################
python-连接MySQL(mysql.connector与MySQLdb区别)
2018年09月15日 12:23:42 Java小宝 阅读数 2503
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xiaobao5214/article/details/82712778
1.安装mysql-connector 命令 pip install mysql-connector
-
import mysql.connector
-
cnx = mysql.connector.connect(user='root', password='123456',host='127.0.0.1',database='employees')
-
cnx.close()
2.安装 MySQLdb命令 pip install MySQLdb
(该适用linux不适用windows, 在windows环境中需要安装exe下载地址 http://www.codegood.com/downloads)
-
import MySQLdb
-
db = MySQLdb.connect(host="localhost", # your host, usually localhost
-
user="root", # your username
-
passwd="123456", # your password
-
db="employeedb",
-
port = 3306) # name of the data base
-
cur = db.cursor()
-
cur.execute("select * from emp")
两者区别:
mysql-connector是一个Python模块,它在Python中重新实现MySQL协议,它比较慢,但不需要C库,因此更便携。
MySqLDB是一个C模块,它使用MySQL客户端库中的MySQL协议实现相链接,它更快,但是需要C库才能工作。
最后
以上就是懵懂长颈鹿为你收集整理的解决python3下mysqldb不支持-只有这个是成功的!浪费一个晚上。解决python3下mysqldb不支持让python3.X支持MySQLDB的终极解决方案python3不再支持mysqldb 请用pymysql和mysql.connectorpython-连接MySQL(mysql.connector与MySQLdb区别) 的全部内容,希望文章能够帮你解决解决python3下mysqldb不支持-只有这个是成功的!浪费一个晚上。解决python3下mysqldb不支持让python3.X支持MySQLDB的终极解决方案python3不再支持mysqldb 请用pymysql和mysql.connectorpython-连接MySQL(mysql.connector与MySQLdb区别) 所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复