windows10 下使用Pycharm2016 基于Anaconda3 Pyt…
2018-06-17 23:26:36来源:未知 阅读 ()
本文记录:在PyCharm2016.3.3 中基于Anaconda3 Python3.6版本安装Python for Mysql驱动。尝试了安装Mysql-Connector成功,但是连接数据库时驱动有bug而失败;尝试安装MySQLdb,因Python版本兼容问题 失败。最终安装PyMysql成功。现将详细安装过程记录如下。
若不想折腾,且系统环境与我的一致,建议直接就安装PyMysql吧。
一,系统环境
windows10 64位,安装了Anaconda3 和PyCharm2016.3.3。此外,windows10下还自己安装了Python3.4版本(已配置好环境变量),如下图:
PyCharm中配置的Python解释器为Anaconda3自带的Python环境,如下图:
安装的Mysql版本如下:
mysql Ver 14.14 Distrib 5.5.53, for debian-linux-gnu (x86_64) using readline 6.2
二,Python for Mysql driver 介绍
对于Python而言,有很多访问Mysql的驱动,主要是Mysqldb、mysqlconnector 和 pymysql(参考这篇文章)
MySQL-python: This package contains the MySQLdb module, which is written in C.
It is one of the most commonly used Python packages for MySQL.
mysql-connector-python: This package contains the mysql.connector module, which is written entirely in Python.
PyMySQL: This package contains the pymysql module, which is written entirely in Python.
It is designed to be a drop-in replacement for the MySQL-python package.
三,本地环境安装MySQL Connector/Python
在MySQL Connector/Python官网下载:mysql-connector-python-2.1.7-py3.4-windows-x86-64bit.msi 双击安装成功。
cmd命令行下执行 import mysql.connector 成功,如下图:
但是,我想使用Anaconda3下自带的Python环境,而不想使用本地的Python3.4环境。因为Anaconda3中已经帮我们自带了很多第三方的依赖包,比如Python中的ORM框架:SQLAlchemy 。而下面也将 通过 “from sqlalchemy import create_engine”来测试Mysql数据库连接
于是,打开Anaconda Prompt,执行命令:
conda install -c anaconda mysql-connector-python
安装 mysql-connector-python 成功。参考:how do i get mysql to work with python 3.6 in anaconda ide (spyder)?
于是,开始欢喜满满地去测试是否能成功地连接数据库。
打开PyCharm,在菜单栏“Tools”--->“Python console”打开Python Console:
执行如下命令:
from sqlalchemy import create_engine
engine = create_engine('mysql+mysqlconnector://username:password.@HOST_IP:PORT/db_name?charset=utf8')
conn = engine.connect()
报错如下:
sqlalchemy.exc.InterfaceError: (mysql.connector.errors.InterfaceError) Failed parsing handshake; end byte not present in buffer
网上搜了一下,说是Bug,错误无法解决,参考这里。如能解决,请留言告知,感激不尽。
于是,尝试安装MySQLdb。参考了这篇文章,执行:conda install mysql-python,结果报错:The following specifications were found to be in conflict
说是MySQLdb不支持Python3.6版本。具体可参考这篇文章,于是又只得放弃。
The mysql-python conda package hasn't been built for python 3 .
You can try creating a python 2.7 environment and install mysql-python into that.
再尝试:PyMysql,PyMysql项目的目标是替换MySQLdb
This package contains a pure-Python MySQL client library.
The goal of PyMySQL is to be a drop-in replacement for MySQLdb and work on CPython, PyPy and IronPython.
在Anaconda Prompt中执行:conda install -c anaconda pymysql ,参考:这里
安装成功后,在PyCharm中,Ctrl+Alt+S 搜索“python”,打开project 解释器,可看到已成功安装 pymysql
于是可以使用PyMySQL 来测试连接Mysql数据库了。执行如下命令成功。(注意替换成你自己的数据库名)。至此,在PyCharm中基于 Anaconda3的Python3.6 终于可以访问Mysql数据库了。
from sqlalchemy import create_engine
engine=create_engine('mysql+pymysql://username:password.@HOST_IP:PORT/db_name?charset=utf8')
conn = engine.connect()
r = conn.execute('SELECT field1,field2 FROM DB_NMAE limit 1 ')
另外,顺便说一下,对于不同的驱动,连接Mysql的语句是不同的:具体可参考 sqlalchemy 官方文档。
#MySQL-Python mysql+mysqldb://<user>:<password>@<host>[:<port>]/<dbname> #pymysql mysql+pymysql://<username>:<password>@<host>/<dbname>[?<options>] #mysqlconnector mysql+mysqlconnector://<user>:<password>@<host>[:<port>]/<dbname>
另外,还可以在Python Console中使用 %run 直接运行编写好的 .py 文件:如下图所示,在 audit包下,新建了一个my_file.py测试文件
#audit/my_file.py s = "Hello World" print(s)
原文:http://www.cnblogs.com/hapjin/p/7800959.html
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:python 索引
- Django项目中使用qq第三方登录。 2019-08-13
- Python连载30-多线程之进程&线程&线程使用 2019-08-13
- Python学习日记(十) 生成器和迭代器 2019-08-13
- 【Python】语法基础 | 开始使用Python 2019-08-13
- 使用scrapy框架爬取全书网书籍信息。 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash