日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

mamp python mysql_MAMP中Python安装MySQLdb

發布時間:2024/3/24 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mamp python mysql_MAMP中Python安装MySQLdb 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python 標準數據庫接口為 Python DB-API,Python DB-API為開發人員提供了數據庫應用編程接口。

MySQLdb 是用于Python鏈接Mysql數據庫的接口,它實現了 Python 數據庫 API 規范 V2.0,基于 MySQL C API 上建立的。

一、如何安裝MySQLdb?

為了用DB-API編寫MySQL腳本,必須確保已經安裝了MySQL。復制以下代碼,并執行:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import MySQLdb

如果執行后的輸出結果如下所示,意味著你沒有安裝 MySQLdb 模塊:

Traceback (most recent call last):

File "test.py", line 3, in

import MySQLdb

ImportError: No module named MySQLdb

如果您選擇二進制文件發行版本的話,安裝過程基本安裝提示即可完成。如果從源代碼進行安裝的話,則需要切換到MySQLdb發行版本的頂級目錄,并鍵入下列命令:

$ gunzip MySQL-python-1.2.2.tar.gz

$ tar -xvf MySQL-python-1.2.2.tar

$ cd MySQL-python-1.2.2

$ python setup.py build

$ python setup.py install

注意:請確保您有root權限來安裝上述模塊。

運行錯誤信息:

_mysql.c:44:10: fatal error: ‘my_config.h‘ file not found

原因是因為MySQL不是單獨安裝的,是安裝的一個MAMP集成開發環境包,在MAMP中PHP和MySQL的頭文件都是沒有的,所以會報出這個錯誤。我們有兩種解決方式,一種是重新編譯MySQL,一種是單獨安裝mysq-connector-c,因為開發環境包已經自帶了MySQL了,我們就不再編譯安裝了,單獨安裝就ok。

執行以下語句:

brew install mysql-connector-c

二、數據庫連接

出現以下錯誤提示:

sh: mysql_config: command not found

Traceback (most recent call last):

File "setup.py", line 17, in

metadata, options = get_config()

File "/Users/macbook/Downloads/MySQL-python-1.2.5/setup_posix.py", line 43, in get_config

libs = mysql_config("libs_r")

File "/Users/macbook/Downloads/MySQL-python-1.2.5/setup_posix.py", line 25, in mysql_config

raise EnvironmentError("%s not found" % (mysql_config.path,))

EnvironmentError: mysql_config not found

修改setup_posix.py文件,代碼如下

mysql_config.path = "/Applications/MAMP/Library/bin/mysql_config"

如果不知道其目錄,可以使用一下命令查找

sudo find / -name mysql_config

完成該步驟之后可能仍然會出錯:

Traceback (most recent call last):

File "./hello.py", line 3, in

import MySQLdb

File "build/bdist.macosx-10.10-intel/egg/MySQLdb/__init__.py", line 19, in

File "build/bdist.macosx-10.10-intel/egg/_mysql.py", line 7, in

File "build/bdist.macosx-10.10-intel/egg/_mysql.py", line 6, in __bootstrap__

ImportError: dlopen(/Users/macbook/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.10-intel.egg-tmp/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib

Referenced from: /Users/macbook/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.10-intel.egg-tmp/_mysql.so

Reason: image not found

此時,需要執行命令

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

注意:該軟連接的實際目錄部分以自己機器上的目錄為準

另外:MAMP出現如下錯誤提示:

ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘

找不到socket文件,查找本機文件所在位置

sudo find / -name mysql.sock

將文件地址作為參數傳遞到數據庫連接語句

con=MySQLdb.connect(host=‘localhost‘,user=‘root‘,passwd=‘root‘,db=‘StudentDB‘,port=3306,unix_socket="/Applications/MAMP/tmp/mysql/mysql.sock",charset=‘utf8‘)

三、實例:

以下實例鏈接Mysql的StudentDB數據庫:

#!/usr/bin/python

# -*- coding: utf-8 -*-

import MySQLdb

import sys

import sys

reload(sys)

sys.setdefaultencoding(‘utf-8‘)

con=MySQLdb.connect(host=‘localhost‘,user=‘root‘,passwd=‘root‘,db=‘StudentDB‘,port=3306,unix_socket="/Applications/MAMP/tmp/mysql/mysql.sock",charset=‘utf8‘)

#獲取 mysql 的鏈接對象

with con:

#獲取執行查詢的對象

cur = con.cursor()

#執行那個查詢,這里用的是 select 語句

cur.execute("SELECT * FROM Student")

#使用 cur.rowcount 獲取結果集的條數

numrows = int(cur.rowcount)

#循環 numrows 次,每次取出一行數據

for i in range(numrows):

#每次取出一行,放到 row 中,這是一個元組(id,name)

row = cur.fetchone()

#直接輸出兩個元素

print row[0], row[1]

總結

以上是生活随笔為你收集整理的mamp python mysql_MAMP中Python安装MySQLdb的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。