安裝所需軟體包: Python-2.6.tar.bz2、MySQL-python-1.2.3c1.tar、setuptools-0.6c11.tar.gz。
安裝前:
1. 定義python的安裝目錄:
PYTHON_DIR = /home/$USER/local/python
2. 定義安裝目錄:
INSTALL_DIR = /home/$USER/install
tar -C $INSTALL_DIR -xjvf Python-2.6.tar.bz2
cd $INSTALL_DIR/Python-2.6
./configure --prefix = $PYTHON_DIR
make && make install
3. 測試
在命令列下輸入python,出現python解譯器即表示已經正確安裝。
在suse10或rhel5(es5)下系統預設已經裝了python但版本是2.4.x;本次安裝後在shell中輸入
#python
會發現顯示結果:
# python
Python 2.4.3 (#1, Dec 11 2006, 11:38:52)
[GCC 4.1.1 20061130 (Red Hat 4.1.1-43)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>>
版本還是2.4.x的
解決辦法:
#cd /usr/bin
#ll |grep python //查看該目錄下python
#rm -rf python
#ln -s PREFIX/Python-2.5.2/python ./python //PREFIX為你解壓python的目錄
#python
# python
Python 2.5.2 (#1, Dec 11 2006, 11:38:52)
[GCC 4.1.1 20061130 (Red Hat 4.1.1-43)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>>
或是修改PATH變數 vim /etc/bashrc 增加 export PATH=$PYTHON_DIR/bin:${PATH}
OK!問題解決!
4. 安裝MySQLdb:
tar -C $INSTALL_DIR -xzvf MySQL-python-1.2.3c1.tar
cd $INSTALL_DIR/MySQL-python-1.2.3c1
5. 修改配置項
mysql_config=your_mysql_dir/mysql-bin/bin/mysql_config
vi site.cfg
$PYTHON_DIR/bin/python setup.py build
$PYTHON_DIR/bin/python setup.py install --prefix = $PYTHON_DIR
6.安裝
python setup.py build
sudo python setup.py install
這一步可能會提示ImportError: No module named setuptools,則需要安裝setuptools模組。
7. 安裝setuptool:
tar -C $INSTALL_DIR -xzvf setuptools-0.6c11.tar.gz
cd $INSTALL_DIR/setuptools-0.6c1
$PYTHON_DIR/bin/python setup.py build
$PYTHON_DIR/bin/python setup.py install
8. 回到MySQL-python-1.2.3c1目錄,執行安裝MySQLdb最後一步:
cd $INSTALL_DIR/MySQL-python-1.2.3c1
$PYTHON_DIR/bin/python setup.py install --prefix = $PYTHON_DIR
這一步可能會提示如下錯誤:
/usr/bin/ld: cannot find -lmysqlclient_r
collect2: ld returned 1 exit status
error: command 'gcc' failed with exit status 1
9. 修改配置項,
embedded = False
threadsafe = False
static = False
vi site.cfg
再執行:
$PYTHON_DIR/bin/python setup.py install --prefix = $PYTHON_DIR
安裝完成測試:
python
import MySQLdb;
如果報錯:
ImportError: libmysqlclient.so: cannot open shared object file: No such file or directory
cd ~ && vi .bash_profile
在最後增加
export LD_LIBRARY_PATH=/home/$USER/local/mysql/lib/mysql:$LD_LIBRARY_PATH
或
錯誤的原因是未能引入libmysqlclient.so.18庫,
尋找庫檔案存在,於是建立連結:
ln -s /usr/local/server/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
重啟session,再測試正常安裝完成!