linux下安裝MySQLdb模組
1,查看是否已安裝MySQLdb模組
進入python的命令列,輸入 import MySQLdb 如果沒有報錯,證明此模組已經安裝,可以跳過以下步驟。
2,下載最新的MySQLdb安裝包:
wget -O python-1.2.3c1.tar.gz http://cdnetworks-kr-1.dl.sourceforge.net/project/mysql-python/mysql-python-test/1.2.3c1/MySQL-python-1.2.3c1.tar.gz
tar xzvf python-1.2.3c1.tar.gz
cd MySQL-python-1.2.3c1
3,進入使用者MySQLdb源碼目錄,運行 python setup.py build。
報錯:ImportError: No module named setuptools
解決:安裝setuptools
wget -O setuptools-0.6c8.tar.gz http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c8.tar.gz
tar xzvf setuptools-0.6c8.tar.gz
cd setuptools-0.6c8
python setup.py build
sudo python setup.py install
報錯:mysql_config not found
原因:mysql_config命令沒有找到。
解決:
1)使用whereis mysql命令找到mysql安裝目錄,假設mysql安裝在/usr/local/mysql
2) 回到MySQLdb源碼目錄, vi setup_posix.py 或 vimsetup_posix.py開啟設定檔,找到mysql_config.path一行,把路徑改為mysql安裝路徑下bin目錄,即mysql_config.path ="/usr/local/mysql/bin/mysql_config"。
如果MySQL安裝在系統預設路徑下,mysql_config指令檔位於"/usr/bin/mysql_config"。(如果沒有mysql_config,則需要安裝mysql-dev包)
報錯: /usr/bin/ld: cannot find -lmysqlclient_r
解決:
切換到root使用者,執行echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf#請主意這個/etc/ld.so.conf,這個是ld的預設設定檔,視系統不同而不同。/usr/local/mysql/lib/mysql與mysql安裝目錄相關。
強制重新整理ld的設定檔。使用:ldconfig
進入mysql的lib目錄如/usr/local/mysql/lib/mysql #與mysql安裝目錄相關。
如果沒有libmysqlclient_r.so 就建立一個軟串連 ln -s libmysqlclient.so libmysqlclient_r.so
退出root,切換到目前使用者.
報錯: _mysql.c:2810: error: expected declaration specifiers before 'init_mysql'
解決:安裝python-dev,yum install python-devel
4,進入使用者MySQLdb源碼目錄,運行sudo python setup.py install