python3.5安裝
開始python3.5的安裝
請注意linux自帶python的版本。
1.安裝依賴
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel -y
2.下載原始碼
官方地址:https://www.python.org/ftp/
使用命令
wget https://www.python.org/ftp/python/3.5.3/Python-3.5.3.tgz
3.解壓tgz包
tar -zxvf Python-3.5.3.tgz
4.把python移到/usr/local下面
mv Python-3.5.3 /usr/local/src
5.刪除舊版本的python依賴
ll /usr/bin | grep python
rm -rf /usr/bin/python
6.進入python目錄、配置
cd /usr/local/src/Python-3.5.3/
./configure
應當改為:./configure --enable-shared
7.編譯 make
make
8.編譯,安裝
make install
9.刪除舊的軟連結,建立新的軟連結到最新的python
rm -rf /usr/bin/python
ln -s /usr/local/bin/python3.5 /usr/bin/python
python -V
注意整個時間大約30分鐘
剛才和postgre合併安裝發現了坑,原來編譯的時候需要新增引數。
報錯:
configure: error: cannot build PL/Python because libpython is not a shared library
You might have to rebuild your Python installation. Refer to the
documentation for details. Use --without-python to disable building
PL/Python.
原因是因為之前的python沒有設定好這兩個引數。
請注意:在編譯安裝Python時,務必加上--enable-shared編譯引數,在有些系統下,作業系統不會建立分享庫,centos系統便是如此的,會報找不到模組的錯誤。
知識拓展:
這是 configure 常用的一個引數,表示啟用動態庫版本。 如果你要編譯一個庫的原始碼,可以把它編譯成靜態庫,也可以把它編譯成動態庫。如果你想編譯成靜態庫,就用 --enable-shared引數;如果你想編譯成靜態庫,就用--enable-static引數。
python需要重新安裝
在configure時需要重新安裝的。
10.解除安裝python
rpm -qa|grep python|xargs rpm -e --allmatches --nodeps
whereis python|xargs rm -fr
所以第6步應當為
./configure --enable-shared
從6再來一遍。發現最後的時候
python -V
python3.5安裝報錯
python3.5: error while loading shared libraries: libpython3.5m.so.1.0: cannot open shared object file: No such file or directory
原因是因為python執行時沒有載入到libpython3.5m.so.1.0 這個庫檔案 將其複製到響應目錄OK
解決方法:
cd /usr/local/src/Python-3.5.3 進入解壓後的編譯目錄
cp libpython3.5m.so.1.0 /usr/local/lib64/
cp libpython3.5m.so.1.0 /usr/lib/
cp libpython3.5m.so.1.0 /usr/lib64/
然後python -V就可以了
如果遇到報錯:
configure: error: in `/usr/local/src/pythonSoft/Python-3.3.4':
configure: error: no acceptable C compiler found in $PATH
如果報錯:
python3: error while loading shared libraries: libpython3.5m.so.1.0: cannot open shared object file:
拓展知識:
./configure --prefix 作用
--pregix=/usr/local/lsz