ubuntu 安装多个版本的python,并使用jupyter notebook访问多个python版本

本人使用的ubntu 版本为16.04,系统自带2.7.2和3.5.2版本的python,但是后来逐渐发现有些库已经不支持3.5的python版本。因此需要我们升级python版本。但是升级python版本有可能会导致系统无法正常运行,因为系统可能依赖于python3.5和2.7的一些库。
因此我再安装一个新的python版本。至于juoyter notebook,我们可以通过切换内核的方式使用不同python版本。

一、安装新版本的python
更新安装步骤:
1. 先update一下

sudo apt update

2. 安装依赖库

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

3. 下载Python3安装包
python官网下载linux版本的压缩包。
在这里插入图片描述
或者python下载库里面下载对应的版本,我这里是Ubuntu系统要安装,下载后缀为.tgz的那个压缩包即可
在这里插入图片描述
也可直接在终端中使用命令下载:

wget 'https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tgz'

4.解压安装

tar zxvf Python-3.8.2.tgz #解压
cd Python-3.8.2
sudo mkdir -p /usr/local/python38 #建立安装目录
##编译安装
#后面加上 --enable-optimizations 会自动安装pip3及优化配置
./configure --prefix=/usr/local/python38  --enable-optimizations
make
sudo make install

5.为新的python建立软链接
想要系统可以检测到新安装的python,那么还必须为安装的python建立软链接。

# 删除软连接,如果需要删除原有的python,那么就删除,否则不要删除,为新的python取不同的软链接名字即可。
#sudo rm -rf /usr/bin/python3
#sudo rm -rf /usr/bin/pip3
#新建软连接
#添加先版本的python4的软链接,好像软链接的名字只能取python3,4,5这种,取python38这种名字,在终端输入python38会报错。
sudo ln -s /usr/local/python38/bin/python3.8 /usr/bin/python4
#添加 pip4 的软链接
sudo ln -s /usr/local/python38/bin/pip3.8 /usr/bin/pip4
#检测版本:
python4 -V
pip4-V

现在可以打开一个终端,输入命令python4,就可以看到新安装的python。
6.设置python的优先级便于切换python默认版本

执行如下指令对python版本动态配置(注意python 3.8赋予的权重要小一些,否则不一定能从高版本切换至低版本):

# 如果以前配置了python,则删除之
sudo update-alternatives --remove-all python
# python2赋予权重50
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 50
# python3.5赋予权重30
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 30
# python3.8赋予权重20
sudo update-alternatives --install /usr/bin/python python /usr/bin/python4 20
#动态切换当前使用的版本,在出现的界面中根据需要选择1或者2,3,
#即可动态选择使用python 2.7还是python 3.5还是python3.8。
sudo update-alternatives --config python

类似图
在这里插入图片描述
查看当前python版本

python -V

还有另一种安装方式。

# 安装python
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.8
 
# 设置命令python的版本优先级(若安装了其他版本的Python可以类似地设置)
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8.2
# 如果只需要一个版本的python,可以不用执行上步,直接创建软连接 
# sudo ln -s python3.6 /usr/bin/python
# 更改python版本
sudo update-alternatives --config python

二.安装jupyter kernel内核
现在来熟悉一下jupyter对不同python版本的内核配置过程.
1.安装ipython

sudo pip4 install ipython==5.3.0

2.下载对应版本的python内核版本

sudo pip4 install ipykernel

3.安装对应版本的python内核版本

python4 -m ipykernel install --user      ###应用python3内核,这个命令会把原来的内核顶替掉
#推荐使用这个命令
python4 -m ipykernel install --user --name python4 --display-name "Python3.8"
#查看可使用的内核
jupyter kernelspec list

如图:
在这里插入图片描述
打开/home/xiaohaipeng/.local/share/jupyter/kernels/python4,文件可以看到如下内容:

{
 "argv": [
  "/usr/bin/python4",  #对应的软链接
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
 "display_name": "Python 3.8",#jupyter上看到的内核名字
 "language": "python"
}

可以手动更改这个文件的display_name。
最后打开一个jupyter ,如图
在这里插入图片描述

如果在jupter下出现如下错误:
在这里插入图片描述
那是因为ipython版本过低
运行

sudo pip4 install --upgrade ipython

参考:Ubuntu 升级python3为更高版本【已实测】
Ubuntu16.04安装python3.7及相应的pip(看评论比较有用)
Ubuntu16.04最小代价解决python多版本管理问题
ubuntu16.04下的jupyter在python2.7和python3.6环境下的安装
Ubuntu Desktop 16.04 LTS 下成功配置Jupyter的两个python内核版本(2.7x,3.5x)
linux – 无法将python3内核添加到Jupyter
Installing the IPython kernel

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能学习者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值