ubuntu学习python安装哪个mysql

如题所述

在用Django时,数据库如果选择MySQL,那么需要安装MySQL-Python,以下是简明安装教程:

1. 到下载安装包,截至笔者发稿,MySQL-python的版本为:MySQL-python-1.2.4b4.tar.gz。

2. 解压,笔者解压到了~/temp目录下:

[plain] view plain copy
$ tar -zxvf MySQL-python-1.2.4b4.tar.gz -C ~/temp/

3. 在终端里面执行以下命令:

[plain] view plain copy
$ mysql_config

如果提示未找到命令,则安装终端提示你的包,如下:

则安装:

[plain] view plain copy
$ sudo apt-get install libmysqlclient-dev

4. 我们打开MySQL-python-1.2.4b4目录(步骤2中解压得到的目录)中的site.cfg文件,看到有这样的说明:

意思就是说,如果mysql_config脚本不在PATH中,我们就解注释下面的代码,并修改这行代码后面的路径,以告知mysql_config脚本的位置;如果mysql_config这个脚本在PATH中,就不要改了,否则会出现一些匪夷所思的现象。遵旨!

5. 为了知晓我们到底用不用改site.cfg,再次尝试在终端执行:

[plain] view plain copy
$ mysql_config
如果出现以下结果:

则说明mysql_config脚本在PATH中(或者说在MySQL-python过程中我它能找到mysql_config脚本),那么我们就不用修改site.cfg;
如果未出现,则就按着步骤4所述修改site.cfg,可以在终端执行如下命令,来寻找mysql_config这个脚本的路径:

[plain] view plain copy
$ find / -name mysql_config

得到mysql_config的路径(应该很快,find命令据推测应该会先在PATH变量中的路径寻找,出来第一条结果后适时终止执行即可),修改site.cfg。

6. 若MySQL是通过apt-get安装的,那么我们还要安装python-dev包,来提供安装过程中必须的Python.h这个头文件:

[plain] view plain copy
$ sudo apt-get install python-dev

7. 准备工作终于做完了!现在赶紧去解压得到的文件夹MySQL-python-1.2.4b4下,运行:

[plain] view plain copy
$ sudo python setup.py build
$ sudo python setup.py install

8. 测试一下,在python命令行中执行:

[plain] view plain copy
import MySQLdb
如果没出现错误,说明我们成功安装了MySQL-python。

附:Django中验证某一项目成功连接MySQL的方法:

样例settings.DATABASES:

[python] view plain copy
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'db_name', # Or path to database file if using sqlite3.
'USER': 'your_MySQL_uname', # Not used with sqlite3.
'PASSWORD': 'your_pwd', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}
在项目目录通过以下命令启动Python Shell:

[plain] view plain copy
$ python manage.py shell
注:以上命令是以正确配置启动Shell的一种方法。
接着在Shell中输入下列命令测试MySQL连接:

[python] view plain copy
>>>from django.db import connection
>>>c = connection.cursor()
如果没有显示什么错误信息,那么你的数据库配置是正确的。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答