python2.7之MySQLdb模塊 for linux安裝

python2.7之MySQLdb模塊 for linux安裝

1.下載:MySQL-python
http://sourceforge.net/projects/mysql-python/files/mysql-python-test/1.2.3b1/MySQL-python-1.2.3b1.tar.gz/download
tar -zxf MySQL-python-1.2.3b1.tar.gz
cd MySQL-python-1.2.3b1
python setup.py build
==>ImportError: No module named setuptools

2.下載setuptools
http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c8.tar.gz
tar -zxf setuptools-0.6c8.tar.gz
cd setuptools-0.6c8
python setup.py build
python setup.py install

3.回到MySQL-python-1.2.3b目錄
cd MySQL-python-1.2.3b1
在運行時python setup.py build && python setup.py install沒有如下錯誤:

有類似錯誤,處理方式如下:
python setup.py build #若,報錯:mysql_config not found
找出mysql 安裝目錄如:/opt/mysql/
vi MySQL-python-1.2.3b1/setup_posix.py
行     26 #mysql_config.path = "mysql_config"
改成如下: 
行     27 mysql_config.path = "/opt/mysql/bin/mysql_config"

再次運行 
python setup.py build #報錯:/usr/bin/ld:cannot find -lmysqlclient_r
root下:
echo "/opt/mysql/lib/mysql" >> /etc/ld.so.conf #請主意這個/etc/ld.so.conf,
這個是ld的默認配置文件,視系統不同而不同。 /opt/mysql/lib/mysql與mysql安裝目錄相關。

刷新ld配置文件讓其生效,使用:ldconfig

接着運行 python setup.py install

檢驗是否已經安裝成功MySQLdb時,提示如下錯誤:
>>> import MySQLdb
/usr/lib/python2.4/site-packages/MySQL_python-1.2.3b1-py2.4-linux-i686.egg/_mysql.py:3: UserWarning: Module _mysql was already imported from /usr/lib/python2.4/site-packages/MySQL_python-1.2.3b1-py2.4-linux-i686.egg/_mysql.pyc, but /data/MySQL-python-1.2.3b1 is being added to sys.path
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "MySQLdb/__init__.py", line 19, in ?
    import _mysql
  File "build/bdist.linux-i686/egg/_mysql.py", line 7, in ?
  File "build/bdist.linux-i686/egg/_mysql.py", line 6, in __bootstrap__
ImportError: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory
解決方法:
vi /etc/profile下加:
export LD_LIBRARY_PATH=/opt/mysql/lib/mysql:$LD_LIBRARY_PATH

參考:
http://developer.51cto.com/art/201003/188263.htm
http://daxi.me/2009/08/99/


發佈了20 篇原創文章 · 獲贊 0 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章