pythonmysqlubuntu
在用Django时,数据库如果选择MySQL,那么需要安装MySQL-Python,以下是简明安装教程:
1. 到下载安装包,截至笔者发稿,MySQL-python的版本为:MySQL-python-1.2.4b4.tar.gz。
2. 解压,笔者解压到了~/temp目录下:
[plain] view plain
$ tar -zxvf MySQL-python-1.2.4b4.tar.gz -C ~/temp/
3. 在终端里面执行以下命令:
[plain] view plain
$ mysql_config
如果提示未找到命令,则安装终端提示你的包,如下:
则安装:
[plain] view plain
$ 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
$ mysql_config
如果出现以下结果:
则说明mysql_config脚本在PATH中(或者说在MySQL-python过程中我它能找到mysql_config脚本),那么我们就不用修改site.cfg;
如果未出现,则就按着步骤4所述修改site.cfg,可以在终端执行如下命令,来寻找mysql_config这个脚本的路径:
[plain] view plain
$ find / -name mysql_config
得到mysql_config的路径(应该很快,find命令据推测应该会先在PATH变量中的路径寻找,出来第一条结果后适时终止执行即可),修改site.cfg。
6. 若MySQL是通过apt-get安装的,那么我们还要安装python-dev包,来提供安装过程中必须的Python.h这个头文件:
[plain] view plain
$ sudo apt-get install python-dev
7. 准备工作终于做完了!现在赶紧去解压得到的文件夹MySQL-python-1.2.4b4下,运行:
[plain] view plain
$ sudo python setup.py build
$ sudo python setup.py install
8. 测试一下,在python命令行中执行:
[plain] view plain
import MySQLdb
如果没出现错误,说明我们成功安装了MySQL-python。
附:Django中验证某一项目成功连接MySQL的方法:
样例settings.DATABASES:
[python] view plain
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
$ python manage.py shell
注:以上命令是以正确配置启动Shell的一种方法。
接着在Shell中输入下列命令测试MySQL连接:
[python] view plain
>>>from django.db import connection
>>>c = connection.cursor()
如果没有显示什么错误信息,那么你的数据库配置是正确的。
Ⅱ mysqldb 装不上啊,求助 MySQL-python
Python.h:没有那个文件或目录, 没有python开发包
mysql.h:没有那个文件或目录, 没有mysql的开发包。
如果是centos, redhat,可用yum命令安装,sudo yum install python-devel mysql-devel, 可用yum search python*查看有哪些包可以安装,mysql数据。
如果是ubuntu,可用apt-get命令安装,sudo apg-get install python-devel mysql-devel,可用apt-cache search python*有哪些python相关的包可以安装。
另外,不建议用root用户在linux系统中进行操作,比较危险。
Ⅲ Python 操作 MySQL 的5种方式
1、MySQLdb
# 前置条件
sudo apt-get install python-dev libmysqlclient-dev # Ubuntu
sudo yum install python-devel mysql-devel # Red Hat / CentOS
# 安装
pip install MySQL-python
Windows 直接通过下载 exe 文件安装
#!/usr/bin/python
import MySQLdb
db = MySQLdb.connect(
host = "localhost", # 主机名
user = "root", # 用户名
passwd = "pythontab.com", # 密码
db = "testdb") # 数据库名称
# 查询前,必须先获取游标
cur = db.cursor()
# 执行的都是原生SQL语句
cur.execute("SELECT * FROM mytable")
for row in cur.fetchall():
print(row[0])
db.close()
2、mysqlclient
# Windows安装
pip install some-package.whl
# linux 前置条件
sudo apt-get install python3-dev # debian / Ubuntu
sudo yum install python3-devel # Red Hat / CentOS
brew install mysql-connector-c # macOS (Homebrew)
pip install mysqlclient
3、PyMySQL
pip install PyMySQL
# 为了兼容mysqldb,只需要加入
pymysql.install_as_MySQLdb()
import pymysql
conn = pymysql.connect(host = 飗.0.0.1', user = 'root', passwd = "pythontab.com", db = 'testdb')
cur = conn.cursor()
cur.execute("SELECT Host,User FROM user")
for r in cur:
print(r)
cur.close()
conn.close()
4、peewee
pip install peewee
import peewee
from peewee import *
db = MySQLDatabase('testdb', user = 'root', passwd = 'pythontab.com')
class Book(peewee.Model):
author = peewee.CharField()
title = peewee.TextField()
class Meta:
database = db
Book.create_table()
book = Book(author = "pythontab", title = 'pythontab is good website')
book.save()
for book in Book.filter(author = "pythontab"):
print(book.title)
5、SQLAlchemy
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy_declarative import Address, Base, Person
class Address(Base):
__tablename__ = 'address'
id = Column(Integer, primary_key = True)
street_name = Column(String(250))
engine = create_engine('sqlite:///sqlalchemy_example.db')
Base.metadata.bind = engine
DBSession = sessionmaker(bind = engine)
session = DBSession()
# Insert a Person in the person table
new_person = Person(name = 'new person')
session.add(new_person)
session.commit()
Ⅳ ubuntu下配置django+apache+mysql+mod_python+Python
检查apache python相关配置,再重启一下试试。
Ⅳ python怎么安装mysqldb
在配置Django时,选择的是mysql数据库,要安装MySQLdb模块,不过安装过程中,遇到了很多errors,记录一下。
系统:ubuntu 11.10
mysql:直接apt-get安装的,version:5.1.62
到官方下载MySQL for Python
然后解压,打开README:
里面有安装过程:
tarxfzMySQL?python?1.2.1.tar.gz cd MySQL-python-1.2.1# edit site.cfg if necessary# edit site.cfg if necessary python setup.py build$ sudo python setup.py install # or su first不过在python setup.py build时报错:
ImportError: No mole named setuptools
ubuntu下安装:
sudo apt-get install python-setuptools
python-setuptools : Python Distutils Enhancements (setuptools compatibility)然后再次python setup.py build,又报错:
EnvironmentError: mysql_config not found
因为mysql_config是属于MySQL开发用的文件,而使用apt-get安装的MySQL是没有这个文件的,于是在包安装器里面寻找sudo apt-get install libmysqld-dev
libmysqld-dev : MySQL embedded database development files再次运行python setup.py build,报错:
building ‘_mysql’ extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,3,’final’,0) -D__version__=1.2.3 -I/usr/include/mysql -I/usr/include/python2.7 -c _mysql.c -o build/temp.linux-i686-2.7/_mysql.o -DBIG_JOINS=1 -fno-strict-aliasing -DUNIV_LINUX -DUNIV_LINUXIn file included from _mysql.c:29:0:
pymemcompat.h:10:20: fatal error: Python.h: No such file or directory解决方案,
sudo apt-get install python-dev
python-dev : header files and a static library for Python (default)然后就按照README里的:
pythonsetup.pybuild sudo python setup.py install测试:
>>>import MySQLdb
没有报错即可。