Python3 mysqlclient-1.3.6(又名 PyMySQL)的用法?

Posted

技术标签:

【中文标题】Python3 mysqlclient-1.3.6(又名 PyMySQL)的用法?【英文标题】:Python3 mysqlclient-1.3.6 (aka PyMySQL) usage? 【发布时间】:2015-06-14 07:33:14 【问题描述】:

我仍然在学习 python 以及使用 3rd 方模块的所有不同方法。我已经安装了https://pypi.python.org/pypi/mysqlclient,这里推荐Python 3 and MySQL

我相信我正确安装了软件包

D:\install\python modules>python -m pip install mysqlclient-1.3.6-cp34-none-win_amd64.whl
Unpacking d:\install\python modules\mysqlclient-1.3.6-cp34-none-win_amd64.whl
Installing collected packages: mysqlclient
Successfully installed mysqlclient
Cleaning up...

奇怪的是,当我尝试导入模块 mysqlclient 时,我得到以下结果

D:\install\python modules>python
Python 3.4.2 (v3.4.2:ab2c023a9432, Oct  6 2014, 22:16:31) [MSC v.1600 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import mysqlclient
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'mysqlclient'

我查看了主页https://github.com/PyMySQL/mysqlclient-python,但找不到任何有关如何使用此模块的示例。我很困惑,我刚刚错过了这里的船吗?

【问题讨论】:

【参考方案1】:

PyMySQL 项目包含一个user guide。找到这个指南并不容易(没有明显的链接)而且更令人困惑的是,模块名称与包名称不对应。要使用它,您需要:

import MySQLdb

MySQLdb 模块实现了PEP 249 - the Python Database API Specification 用于访问数据库。使用此 API 时,Python 代码应该更易于跨不同的关系数据库管理系统移植。

不建议使用_mysql 模块(也包含在此包中)。它不可移植,而且在较低的抽象级别上工作(实现 MySQL C API)。

这里有两个你可能会觉得有用的教程。我用过它们 Python 2 中的原始 MySQLdb 包,但 API 相同(由 PEP-249 定义)。它们都包含数据库访问(读取和写入数据)的实际示例,我发现它们比官方文档更适合 API 入门。

Writing MySQL Scripts with Python DB-API, Paul DuBois MySQL Python tutorial

【讨论】:

谢谢,由于某种原因,这不在 Django 数据库安装页面上 +1 :)

以上是关于Python3 mysqlclient-1.3.6(又名 PyMySQL)的用法?的主要内容,如果未能解决你的问题,请参考以下文章

python3多进程实战(python3经典编程案例)

python3多进程实战(python3经典编程案例)

0基础学python3心得体会 - python3学习笔记 - python3基础

jupyter notebook 同时存在python3.5 和python3.6

python3多线程实战(python3经典编程案例)

python3多线程实战(python3经典编程案例)