之前一直用anaconda,但是anaconda比較大,於是嘗試用源代碼編譯安裝了一下,發現還真不容易。
在Ubuntu下手動編譯安裝python3,遇到不少坑,具體過程如下:
1、下載python源代碼:
wget https://www.python.org/ftp/python/3.6.10/Python-3.6.10.tgz
wget https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tgz
wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz
下面的鏡像速度會比較快
wget http://mirrors.sohu.com/python/3.6.10/Python-3.6.10.tgz
wget http://mirrors.sohu.com/python/3.7.6/Python-3.7.6.tgz
wget http://mirrors.sohu.com/python/3.8.1/Python-3.8.1.tgz
2、解壓:
tar -zxvf Python-3.6.10.tgz
3、安裝ssl
sudo apt-get install openssl
sudo apt-get install libssl-dev
4、進入目錄:
cd Python-3.6.10
./configure --prefix=/usr/local/ --with-ssl
加上--with-ssl,否則pip3過程需要ssl模塊,沒有指定的話,該功能不可用。
5、執行make
make不存在
先執行:
sudo apt-get install build-essential
然后make
6、執行make install
sudo make install
出錯:ZipImportError: can't decompress data; zlib not available
執行:sudo apt-get install zlibc zlib1g-dev
7、將/usr/local/bin加入PATH
編輯bash_profile進行修改環境變量:
vim ~/.bash_profile
vim不存在
執行sudo apt-get vim
在PATH變量下將Python3的啟動目錄添加進去:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/local/bin
export PATH
改動完畢之后,按Esc,再輸入:wq進行保存退出。
修改完,執行下面的命令,讓上一步的修改生效:
source ~/.bash_profile
8、檢查Python3及Pip3是否正常可用
python3 -V
pip3 -V
如果pip3的ssl不可用,需要重新編譯。
9、連接python到python3
sudo ln -s /usr/bin/python3 /usr/bin/python
比較有用的參考:
https://www.jb51.net/article/160869.htm
https://blog.csdn.net/sinat_36184075/article/details/80357542