概述
本人使用的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
最后
以上就是紧张摩托为你收集整理的ubuntu 安装多个版本的python,并使用jupyter notebook访问多个python版本的全部内容,希望文章能够帮你解决ubuntu 安装多个版本的python,并使用jupyter notebook访问多个python版本所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复