如何使用pip安装Python MySQLdb模块?

问题:如何使用pip安装Python MySQLdb模块?

如何使用pip为Python 安装MySQLdb模块?

How can I install the MySQLdb module for Python using pip?


回答 0

这很容易,但是很难记住正确的拼写:

pip install mysqlclient

如果您需要1.2.x版本(仅限旧版Python),请使用 pip install MySQL-python

注意:运行上述命令时,某些依赖项可能必须存在。关于如何在各种平台上安装这些的一些提示:

Ubuntu 14,Ubuntu 16,Debian 8.6(jessie)

sudo apt-get install python-pip python-dev libmysqlclient-dev

Fedora 24:

sudo dnf install python python-devel mysql-devel redhat-rpm-config gcc

苹果系统

brew install mysql-connector-c

如果失败,请尝试

brew install mysql

It’s easy to do, but hard to remember the correct spelling:

pip install mysqlclient

If you need 1.2.x versions (legacy Python only), use pip install MySQL-python

Note: Some dependencies might have to be in place when running the above command. Some hints on how to install these on various platforms:

Ubuntu 14, Ubuntu 16, Debian 8.6 (jessie)

sudo apt-get install python-pip python-dev libmysqlclient-dev

Fedora 24:

sudo dnf install python python-devel mysql-devel redhat-rpm-config gcc

Mac OS

brew install mysql-connector-c

if that fails, try

brew install mysql

回答 1

从全新的Ubuntu 14.04.2系统开始,需要以下两个命令:

 apt-get install python-dev libmysqlclient-dev
 pip install MySQL-python

仅仅进行“ pip安装”是行不通的。

http://codeinthehole.com/writing/how-to-set-up-mysql-for-python-on-ubuntu/

Starting from a fresh Ubuntu 14.04.2 system, these two commands were needed:

 apt-get install python-dev libmysqlclient-dev
 pip install MySQL-python

Just doing the “pip install” by itself did not work.

From http://codeinthehole.com/writing/how-to-set-up-mysql-for-python-on-ubuntu/


回答 2

第一

pip install pymysql

然后将下面的代码放入__init__.pyprojectname/__init__.py

import pymysql
pymysql.install_as_MySQLdb()

我的环境是(python3.5,django1.10),此解决方案对我有用!

希望这可以帮助!!

First

pip install pymysql

Then put the code below into __init__.py (projectname/__init__.py)

import pymysql
pymysql.install_as_MySQLdb()

My environment is (python3.5, django1.10) and this solution works for me!

Hope this helps!!


回答 3

我在通过Pip(问题编译源)在Windows上安装64位版本的MySQLdb时遇到问题[安装32位版本就可以了]。设法从http://www.lfd.uci.edu/~gohlke/pythonlibs/上的.whl文件安装已编译的MySQLdb

然后可以通过pip将.whl文件作为文档安装在https://pip.pypa.io/en/latest/user_guide/#installing-from-wheels中

例如,如果您保存在中,C:/则可以通过

pip install c:/MySQL_python-1.2.5-cp27-none-win_amd64.whl

后续行动:如果您安装了64位版本的Python,那么您想通过上面的链接安装64位AMD版本的MySQLdb [即,即使您具有Intel处理器]。如果您改为尝试安装32位版本,我认为您会在下面的注释中得到不受支持的滚轮错误。

I had problems installing the 64-bit version of MySQLdb on Windows via Pip (problem compiling sources) [32bit version installed ok]. Managed to install the compiled MySQLdb from the .whl file available from http://www.lfd.uci.edu/~gohlke/pythonlibs/

The .whl file can then be installed via pip as document in https://pip.pypa.io/en/latest/user_guide/#installing-from-wheels

For example if you save in C:/ the you can install via

pip install c:/MySQL_python-1.2.5-cp27-none-win_amd64.whl

Follow-up: if you have a 64bit version of Python installed, then you want to install the 64-bit AMD version of MySQLdb from the link above [i.e. even if you have a Intel processor]. If you instead try and install the 32-bit version, I think you get the unsupported wheel error in comments below.


回答 4

这对我有用:

pip install mysqlclient

这是针对python 3.x

well this worked for me:

pip install mysqlclient

this is for python 3.x


回答 5

我尝试了所有选项,但无法使其在Redhat平台上运行。我做了以下工作以使其工作:-

yum install MySQL-python -y

安装软件包后,便可以按照解释器中的说明导入模块:-

>>> import MySQLdb
>>> 

I tried all the option but was not able to get it working on Redhat platform. I did the following to make it work:-

yum install MySQL-python -y

Once the package was installed was able to import module as follows in the interpreter:-

>>> import MySQLdb
>>> 

回答 6

转到pycharm,然后转到默认设置-> pip(双击)-pymsqldb ..–>安装-在类似这样的程序中安装使用后

import pymysql as MySQLdb

# Open database connection
db = MySQLdb.connect("localhost","root","root","test" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

# execute SQL query using execute() method.
cursor.execute("show tables")

# Fetch a single row using fetchone() method.
data = cursor.fetchall()
print (data)

# disconnect from server
db.close()

Go to pycharm then go to default setting –> pip (double click) — pymsqldb..– > install –after installing use in a program like this

import pymysql as MySQLdb

# Open database connection
db = MySQLdb.connect("localhost","root","root","test" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

# execute SQL query using execute() method.
cursor.execute("show tables")

# Fetch a single row using fetchone() method.
data = cursor.fetchall()
print (data)

# disconnect from server
db.close()

回答 7

如果您使用的是Raspberry Pi [Raspbian OS]

首先需要有install pip命令

apt-get install python-pip

这样就可以依次安装

apt-get install python-dev libmysqlclient-dev

apt-get install python-pip

pip install MySQL-python

If you are use Raspberry Pi [Raspbian OS]

There are need to be install pip command at first

apt-get install python-pip

So that just install Sequently

apt-get install python-dev libmysqlclient-dev

apt-get install python-pip

pip install MySQL-python

回答 8

您可以访问此网站下载软件包。

You can go to this website to download the package.


回答 9

如果您无法安装mysqlclient,也可以安装pymysql

pip install pymysql

这与MySqldb相同。之后,使用pymysql代替MySQLdb

If you are unable to install mysqlclient you can also install pymysql:

pip install pymysql

This works same as MySqldb. After that use pymysql all over instead of MySQLdb


回答 10

我也遇到了同样的问题。如果您使用的是Windows,请按照以下步骤操作。转至:1.我的电脑2.系统属性3.高级系统设置4.在“高级”选项卡上,单击显示“环境变量”的按钮。5.然后在系统变量下,您必须添加/更改以下变量:PYTHONPATH和路径。这是我的变量的样子的粘贴信息:python path:

C:\Python27;C:\Python27\Lib\site-packages;C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\Python27\Scripts

路径:

C:\Program Files\MySQL\MySQL Utilities 1.3.5\;C:\Python27;C:\Python27\Lib\site-packages;C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\Python27\Scripts

看到这个 链接以供参考

I had the same problem too.Follow these steps if you are on Windows. Go to: 1.My Computer 2.System Properties 3.Advance System Settings 4. Under the “Advanced” tab click the button that says “Environment Variables” 5. Then under System Variables you have to add / change the following variables: PYTHONPATH and Path. Here is a paste of what my variables look like: python path:

C:\Python27;C:\Python27\Lib\site-packages;C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\Python27\Scripts

path:

C:\Program Files\MySQL\MySQL Utilities 1.3.5\;C:\Python27;C:\Python27\Lib\site-packages;C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\Python27\Scripts

See this link for reference


回答 11

上面的答案很好,但是当我们使用pip在Windows中安装MySQL-python时可能会出现一些问题

例如,它需要一些与Visual Stdio相关的文件。一个解决方案是安装VS2008或2010……显然,这太昂贵了。

另一种方法是@ bob90937的答案。我在这里要做一些补充。

使用http://www.lfd.uci.edu/~gohlke/pythonlibs,您可以下载许多科学开源扩展包的Windows二进制文件,以用于Python编程语言的官方CPython发行版。

返回主题,我们可以选择MySQL-python(py2)Mysqlclient(py3) 并使用pip install 进行安装。它给我们带来了极大的便利!

The above answer is great, but there may be some problems when we using pip to install MySQL-python in Windows

for example,It needs some files that are associated with Visual Stdio .One solution is installing VS2008 or 2010……Obviously,it cost too much.

Another way is the answer of @bob90937 . I am here to do something to add.

with http://www.lfd.uci.edu/~gohlke/pythonlibs, u can download many Windows binaries of many scientific open-source extension packages for the official CPython distribution of the Python programming language.

Back to topic,we can choose the MySQL-python(py2) or Mysqlclient(py3) and use pip install to install. it gives us Great convenience!


回答 12

对于Python3,我需要这样做:

python3 -m pip install MySQL

For Python3 I needed to do this:

python3 -m pip install MySQL

回答 13


回答 14

在RHEL 7上:

sudo yum install yum-utils mariadb-devel python-pip python-devel gcc

sudo /bin/pip2 install MySQL-python

on RHEL 7:

sudo yum install yum-utils mariadb-devel python-pip python-devel gcc

sudo /bin/pip2 install MySQL-python


回答 15

如果您的系统上安装了Windows,请在cmd上键入以下命令:

pip install mysql-connector

如果以上命令不起作用,请尝试使用:

pip install mysql-connector-python

现在,如果上述命令无法完成工作,请尝试使用:

pip install mysql-connector-python-rf

就是这样,您现在就可以走了。

If you have Windows installed on your system then type the following command on cmd :

pip install mysql-connector

if the above command does not work try using:

pip install mysql-connector-python

Now,if the above commands do not get the work done, try using:

pip install mysql-connector-python-rf

That’s it you are good to go now.


回答 16

这里给出的许多答案都相当令人困惑,因此我将尝试简单地说一下。它帮助我安装了这个

pip install pymysql

然后在python文件中使用以下命令

import pymysql as MySQLdb

这样,您可以毫无问题地使用MySQLdb。

Many of the given answers here are quite confusing so I will try to put it simply. It helped me to install this

pip install pymysql

and then use the following command in the python file

import pymysql as MySQLdb

This way you can use MySQLdb without any problems.


回答 17

如果pip3不起作用,您可以尝试:

sudo apt install python3-mysqldb

If pip3 isn’t working, you can try:

sudo apt install python3-mysqldb

回答 18

我的环境是:

  • Windows 10专业版,
  • Python 3.7(python-3.7.1-amd64.exe),
  • MySQL 8.0(mysql-installer-web-community-8.0.13.0.msi)

pip安装mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl

为我工作。

import MySQLdb, sys


# --------------------------------------------------
# Connect to MySQL
# --------------------------------------------------
try:
    db = MySQLdb.connect(host="localhost", user="user", passwd="pass", db="database", charset='cp1251')
except MySQLdb.Error as e:
    print ("Error %d: %s" % (e.args[0], e.args[1]))
    sys.exit()

# Creating cursor 
cursor = db.cursor()

My environment are:

  • Windows 10 Pro,
  • Python 3.7 (python-3.7.1-amd64.exe),
  • MySQL 8.0 (mysql-installer-web-community-8.0.13.0.msi)

pip install mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl

works for me.

import MySQLdb, sys


# --------------------------------------------------
# Connect to MySQL
# --------------------------------------------------
try:
    db = MySQLdb.connect(host="localhost", user="user", passwd="pass", db="database", charset='cp1251')
except MySQLdb.Error as e:
    print ("Error %d: %s" % (e.args[0], e.args[1]))
    sys.exit()

# Creating cursor 
cursor = db.cursor()

回答 19

实际上,按照@Nick T的回答对我不起作用,我尝试apt-get install python-mysqldb为我工作

root@2fb0da64a933:/home/test_scrapy# apt-get install python-mysqldb
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libmariadbclient18 mysql-common
Suggested packages:
  default-mysql-server | virtual-mysql-server python-egenix-mxdatetime python-mysqldb-dbg
The following NEW packages will be installed:
  libmariadbclient18 mysql-common python-mysqldb
0 upgraded, 3 newly installed, 0 to remove and 29 not upgraded.
Need to get 843 kB of archives.
After this operation, 4611 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://deb.debian.org/debian stretch/main amd64 mysql-common all 5.8+1.0.2 [5608 B]
Get:2 http://deb.debian.org/debian stretch/main amd64 libmariadbclient18 amd64 10.1.38-0+deb9u1 [785 kB]
Get:3 http://deb.debian.org/debian stretch/main amd64 python-mysqldb amd64 1.3.7-1.1 [52.1 kB]                    
Fetched 843 kB in 23s (35.8 kB/s)                                                                                 
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package mysql-common.
(Reading database ... 13223 files and directories currently installed.)
Preparing to unpack .../mysql-common_5.8+1.0.2_all.deb ...
Unpacking mysql-common (5.8+1.0.2) ...
Selecting previously unselected package libmariadbclient18:amd64.
Preparing to unpack .../libmariadbclient18_10.1.38-0+deb9u1_amd64.deb ...
Unpacking libmariadbclient18:amd64 (10.1.38-0+deb9u1) ...
Selecting previously unselected package python-mysqldb.
Preparing to unpack .../python-mysqldb_1.3.7-1.1_amd64.deb ...
Unpacking python-mysqldb (1.3.7-1.1) ...
Setting up mysql-common (5.8+1.0.2) ...
update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode
Setting up libmariadbclient18:amd64 (10.1.38-0+deb9u1) ...
Processing triggers for libc-bin (2.24-11+deb9u3) ...
Setting up python-mysqldb (1.3.7-1.1) ...
root@2fb0da64a933:/home/test_scrapy# python 
Python 2.7.13 (default, Nov 24 2017, 17:33:09) 
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>> 

actually, follow @Nick T’s answer doesn’t work for me, i try apt-get install python-mysqldb work for me

root@2fb0da64a933:/home/test_scrapy# apt-get install python-mysqldb
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libmariadbclient18 mysql-common
Suggested packages:
  default-mysql-server | virtual-mysql-server python-egenix-mxdatetime python-mysqldb-dbg
The following NEW packages will be installed:
  libmariadbclient18 mysql-common python-mysqldb
0 upgraded, 3 newly installed, 0 to remove and 29 not upgraded.
Need to get 843 kB of archives.
After this operation, 4611 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://deb.debian.org/debian stretch/main amd64 mysql-common all 5.8+1.0.2 [5608 B]
Get:2 http://deb.debian.org/debian stretch/main amd64 libmariadbclient18 amd64 10.1.38-0+deb9u1 [785 kB]
Get:3 http://deb.debian.org/debian stretch/main amd64 python-mysqldb amd64 1.3.7-1.1 [52.1 kB]                    
Fetched 843 kB in 23s (35.8 kB/s)                                                                                 
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package mysql-common.
(Reading database ... 13223 files and directories currently installed.)
Preparing to unpack .../mysql-common_5.8+1.0.2_all.deb ...
Unpacking mysql-common (5.8+1.0.2) ...
Selecting previously unselected package libmariadbclient18:amd64.
Preparing to unpack .../libmariadbclient18_10.1.38-0+deb9u1_amd64.deb ...
Unpacking libmariadbclient18:amd64 (10.1.38-0+deb9u1) ...
Selecting previously unselected package python-mysqldb.
Preparing to unpack .../python-mysqldb_1.3.7-1.1_amd64.deb ...
Unpacking python-mysqldb (1.3.7-1.1) ...
Setting up mysql-common (5.8+1.0.2) ...
update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode
Setting up libmariadbclient18:amd64 (10.1.38-0+deb9u1) ...
Processing triggers for libc-bin (2.24-11+deb9u3) ...
Setting up python-mysqldb (1.3.7-1.1) ...
root@2fb0da64a933:/home/test_scrapy# python 
Python 2.7.13 (default, Nov 24 2017, 17:33:09) 
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>>