之前一直用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