Ubuntu16.04安装Python3.7及其pip3并切换为默认版本

 

1、配置依赖环境,如果不进行这步可能会出现一些问题

sudo apt update 
sudo apt install libffi-dev libssl-dev libreadline-dev -y

2、直接去官网下载你想的版本

3、解压下载的包,在这之前你可以先mv你的包到指定位置解压

tar zxvf Python-3.7.2.tgz

4、进入解压目录,建立安装的目录

cd Python-3.7.2/
sudo mkdir -p /usr/local/python3

5、编译安装

执行这步是后面最好加上 --enable-optimizations  --with-ssl会自动安装pip3及优化配置

sudo ./configure --prefix=/usr/local/python3 --enable-optimizations --with-ssl
sudo make
sudo make install

6、删除软链接并建立新的指向python3.7的软链接

#删除软链接
sudo rm -rf /usr/bin/python3
sudo rm -rf /usr/bin/pip3

#建立新的指向python3.7软链接
sudo ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
sudo ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3

7、检测版本

l@923:~$ python3 -V    
Python 3.7.2
l@923:~$ pip3 -V
pip 19.0.3 from /usr/local/python3/lib/python3.7/site-packages/pip (python 3.7)

#原系统自带版本不变
l@923:~$ python -V
Python 2.7.12
l@923:~$ pip -V
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)

8、可能会出现的问题

问题一:

在Ubuntu中,升级了pip,再次使用pip 安装相关的python包的时候就出现以下错误

ImportError: cannot import name main
解决:pip文件在usr/bin目录下,cd进去,进行以下修改

把下面的三行

from pip import main
if __name__ == '__main__':
    sys.exit(main())
换成下面的三行

from pip import __main__
if __name__ == '__main__':
    sys.exit(__main__._main())

 

问题二:

使用pip3安装任何模块时的类似报错:

subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.

解决办法:

sudo vim /usr/bin/lsb_release

修改第一行,指明python的版本号,若安装的是python3.7则修改:

#!/usr/bin/python3

为:

#!/usr/bin/python3.7

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值