天天看點

centos6.8 安裝python3/pip3/sqlite3步驟詳解題記

題記

項目的需要需要在python3下部署環境,且不能破壞python2的正常業務運作。

當安裝sqlite3的時候,出現過各種異常。網上排查了很久。

記錄下來,避免下次犯同樣的錯誤。

1、安裝python3

安裝版本:Python-3.5.0           

步驟1: 準備編譯環境

yum groupinstall 'Development Tools'
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel           

步驟 2: 下載下傳 Python3.5代碼包

wget

https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tar.xz

步驟3: 編譯

tar Jxvf Python-3.5.0.tar.xz
cd Python-3.5.0
./configure --prefix=/usr/local/python3
make && make install           

步驟4: 設定環境變量

echo 'export PATH=$PATH:/usr/local/python3/bin' >> ~/.bashrc           

步驟5: 或者可以直接替換python2

rm /usr/bin/python
ln -sv /usr/local/bin/python3.5 /usr/bin/python           

這樣做的目的是在系統任意目錄敲入python調用的是python3的指令,而非系統預設2.6.6的

但是這樣同時這會導緻依賴python2.6的yum不能使用,是以還要修改yum配置。

步驟6: 更新yum配置。

ll /usr/bin | grep python           

這時/usr/bin目錄下面是包含以下幾個檔案的(ll |grep python),其中有個python2.6,隻需要指定yum配置的python指向這裡即可

vim /usr/bin/yum           

通過vim修改yum的配置

#!/usr/bin/python改為#!/usr/bin/python2.6,儲存退出。           

完成了python3的安裝。

2、安裝pip3

對應版本:pip-9.0.1

步驟1:下載下傳腳本。

wget https://bootstrap.pypa.io/get-pip.py           

步驟2:執行安裝

python get-pip.py           

步驟3:建立軟連接配接。

pip安裝後執行pip依然無法找到指令,細看pip安裝的提示資訊發現安裝到了python3下面,這裡肯定不是系統的classpath目錄。

如下:

Installing pip3 script to /var/python3/bin 
Installing pip3.3 script to /var/python3/bin 
Installing pip script to /var/python3/binSuccessfully installed pip            

解決辦法就是簡單地建立連接配接到系統的classpath目錄之一:

mv /usr/bin/pip /tmp
ln -sv /usr/local/python3/bin/pip /usr/bin/pip           

3、安裝sqlite3

步驟1:下載下傳SQLTLE3:

https://www.sqlite.org/download.html           

步驟2:安裝SQLITE 3

解壓後進入sqlite3的目錄下,進行編譯:

$configure –prefix=<你的安裝路徑> ###這裡我設定的是 /usr/local/sqlite
$make –j24
$make install           

步驟3:安裝成功驗證

安裝成功之後會輸出如下資訊:

/usr/bin/mkdir -p '/usr/local/sqlite/bin'
/bin/sh ./libtool --mode=install /usr/bin/install -c sqlite3 '/usr/local/sqlite/bin'
libtool: install: /usr/bin/install -c sqlite3 /usr/local/sqlite/bin/sqlite3
/usr/bin/mkdir -p '/usr/local/sqlite/include'
/usr/bin/install -c -m 644 sqlite3.h sqlite3ext.h '/usr/local/sqlite/include'
/usr/bin/mkdir -p '/usr/local/sqlite/share/man/man1'
/usr/bin/install -c -m 644 sqlite3.1 '/usr/local/sqlite/share/man/man1'
/usr/bin/mkdir -p '/usr/local/sqlite/lib/pkgconfig'
/usr/bin/install -c -m 644 sqlite3.pc '/usr/local/sqlite/lib/pkgconfig'
make[1]: Leaving directory `/root/workspace/sqlite-autoconf-3170000'           

4、安裝 sqlite-devel

yum install sqlite-devel           

該步驟非常重要,否則會導緻sqlite安裝失敗。

5、重新安裝python3

步驟1:查找 sqlite_inc_paths,添加sqlite資訊。

編輯python3.5.X裡面的setup.py, 内容如下 (添加sqlite的搜尋路徑):

使用vim setup.py 打開,同時在指令模式下輸入:

/sqlite_inc_paths #用于尋找該字段,如下所示:

第1081行,是我新添加的sqlite的安裝路徑。

1075 sqlite_inc_paths = [ '/usr/include',
  1076 '/usr/include/sqlite',
  1077 '/usr/include/sqlite3',
  1078 '/usr/local/include',
  1079 '/usr/local/include/sqlite',
  1080 '/usr/local/include/sqlite3',
  1081 '/usr/local/sqlite'
  1082 ]
  1083 if cross_compiling:
  1084 sqlite_inc_paths = []           

步驟2:重新安裝Python

參考 安裝python3的:步驟2、步驟3。

6 、驗證sqlite3安裝成功。

python指令行下輸入:import sqlite3。

沒有任何錯誤輸出,代表安裝成功。

常見錯誤:

1)ImportError: dynamic module does not define module export function (PyInit__sqlite3)

2)No module named _sqlite3

通過步驟1-6,以上錯誤都能解決。

作者:銘毅天下

轉載請标明出處,原文位址:

http://blog.csdn.net/laoyang360/article/details/75094004