这里安装的python3的版本取决于你自己,ubuntu16自带的是python3.5
这里我拿安装python3.7.1来演示
先更新本地资源包:
sudo apt update
下载安装依赖包
sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-dev liblzma-dev libffi-dev libc6-dev
- 下载python源码压缩文件:wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
- 解压:tar -zxvf Python-3.7.1.tgz
- cd 到解压后的文件夹中:cd Python-3.7.1
- 创建安装新python3的目录:mkdir -p /usr/local/python3
- 编译安装:(执行这步是后面最好加上 --enable-optimizations 会自动安装pip3及优化配置)
./configure --prefix=/usr/local/python3 --enable-optimizations -with-ssl
make
make install
注:
若步骤5执行的是 ./configure,则安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/include,其它的资源文件放在/usr /local/share。
若步骤5执行的是./configure --prefix=/usr/local/python3.7.1,则可执行文件放在/usr /local/python3.7.1/bin,库文件放在/usr/local/python3.7.1/lib,配置文件放在/usr/local/python3.7.1/include,其它的资源文件放在/usr /local/python3.7.1/share
若步骤5执行./configure --prefix=/usr/local/python3.7.1,则需要添加环境变量。步骤5是./configure的跳过此步骤
vim ~/.bashrc
PATH=PATH:HOME/bin:/usr/local/python3.7.1/bin
刷新环境变量:
source ~/.bashrc
查看环境变量
echo $PATH
- 查看安装目录
可以看到此时python3.7安装到了/usr/local/lib/(若步骤5执行./configure --prefix=/usr/local/python3.7.1,python3.7安装到了/usr/local/python3.7.1/lib/)
- 建立新的软连接
由于python3.7是自己安装的,不在/usr/bin下,而在usr/local/bin或者/usr/local/python3.7.1/bin下(取决于前面执行的
./configure还是./configure --prefix=/usr/local/python3.7.1)。因此需要先加一条软链接并且把之前的python命令改为python.bak,
同时pip也需要更改。依次执行以下命令
若python3.7安装时,执行的是./configure,则:
mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/bin/python3 /usr/bin/python
mv /usr/bin/pip /usr/bin/pip.bak
ln -s /usr/local/bin/pip3 /usr/bin/pip
若python3.7安装时,执行的是./configure --prefix=/usr/local/python3.7.1,则为:
mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/python3.7.1/bin/python3.7 /usr/bin/python
ln -s /usr/local/python3.7.1/bin/python3.7 /usr/bin/python3
mv /usr/bin/pip /usr/bin/pip.bak
mv /usr/local/bin/pip3.6 /usr/local/bin/pip3.6.bak
ln -s /usr/local/python3.7.1/bin/pip3 /usr/bin/pip
ln -s /usr/local/python3.7.1/bin/pip3 /usr/bin/pip3
ln -s /usr/local/python3.7.1/bin/pip3 /usr/local/bin/pip3.7
此时验证一下python和pip
python -V
pip -V
如果还没修改过来,就修改一下环境变量:
vim ~/.bashrc
alias pip=/usr/local/bin/pip3.7
alias python=/usr/bin/python3
刷新环境变量:
source ~/.bashrc
可能出现的问题:
使用pip安装的时候,报如下错误:
subprocess.CalledProcessError: Command ‘(‘lsb_release’, ‘-a’)’ returned non-zero exit status 1
则只需要删除如下文件即可:
sudo rm /usr/bin/lsb_release
当然了,最好不要删除,改名字即可:、
sudo mv /usr/bin/lsb_release /usr/bin/lsb_release.bak