在Ubuntu 18.04上安装不同版本的python及选择默认Python

2023-05-16

文章目录

    • 一、Python安装
        • 方法一、从Deadsnakes PPA安装deb软件包
            • 1、更新软件包列表并安装必备组件
            • 2、将deadsnakes PPA添加到系统的来源列表中:
            • 3、安装Python
            • 4、验证
        • 方法二、从源代码在Ubuntu上安装Python
            • 1、更新软件包列表并安装构建Python所需的软件包:
            • 2、使用wget从Python下载页面下载所需版本的源代码
            • 3、解压
            • 4、切换到Python-3.8.5源目录,执行configure脚本,检查以确保系统上的所有依赖项都存在
            • 5、启动Python 3.8构建过程:
            • 6、构建过程完成后,输入以下命令安装Python二进制文件:
            • 7、验证:
    • 二、选择默认python
        • 1、先来看一下安装了那些版本的python
        • 2、看一下不同版本python对应的路径
        • 3、使用update-alternatives --install建立链接

一、Python安装

方法一、从Deadsnakes PPA安装deb软件包

适用于Ubuntu 16.04和任何基于Ubuntu的发行版,包括Kubuntu,Linux Mint和Elementary OS

1、更新软件包列表并安装必备组件
sudo apt update
sudo apt install software-properties-common

在这里插入图片描述
在这里插入图片描述

2、将deadsnakes PPA添加到系统的来源列表中:
sudo add-apt-repository ppa:deadsnakes/ppa

出现提示时,按Enter继续:
在这里插入图片描述

3、安装Python

【这里以安装python3.8为例】

sudo apt install python3.8

在这里插入图片描述

4、验证
python3.8 -V

在这里插入图片描述

方法二、从源代码在Ubuntu上安装Python

1、更新软件包列表并安装构建Python所需的软件包:
sudo apt update

sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget
2、使用wget从Python下载页面下载所需版本的源代码

【这里以python3.8.5为例】

wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz
3、解压
tar -xf Python-3.8.0.tgz
4、切换到Python-3.8.5源目录,执行configure脚本,检查以确保系统上的所有依赖项都存在
cd Python-3.8.5
./configure --enable-optimizations

–enable-optimizations选项通过运行多个测试来优化Python二进制文件。 这会使构建过程变慢。

5、启动Python 3.8构建过程:
make -j 8

为了加快构建时间,需要修改-j以使其对应于处理器中的内核数,可以通过键入nproc查找编号。

6、构建过程完成后,输入以下命令安装Python二进制文件:
sudo make altinstall

注意:不要使用标准的make install,它会覆盖默认的系统python3二进制文件。

7、验证:
python3.8 --version

在这里插入图片描述

二、选择默认python

1、先来看一下安装了那些版本的python

python --version    #查看python安装版本
python2 --version   #查看python2安装版本
python3 --version   #查看python3安装版本

如下图:
python默认指向Python3.6.9(ubuntu 18.0.4自带python3.6.9)
没有安装python2的版本
python3默认指向Python3.8.5(这是之前就已经安装并设置好的)
在这里插入图片描述

2、看一下不同版本python对应的路径

which python
which python3

在这里插入图片描述

3、使用update-alternatives --install建立链接

(这里我想要的是python默认指向python3.8.5,python3指向python3.6.9)

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1

在这里插入图片描述
在这里插入图片描述

注意:update-alternatives: --install 需要 <链接> <名称> <路径> <优先级>
数字代表了优先级,数字越大优先级越高

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Ubuntu 18.04上安装不同版本的python及选择默认Python 的相关文章

随机推荐

  • 基于STM32CubeIDE HAL库利用基本定时器实现串口接收不定长数据

    基于STM32CubeIDE HAL库利用基本定时器实现串口接收不定长数据 申明 xff1a 本文章仅发表在CSDN网站 xff0c 任何其他网见此内容均为盗链和爬取 xff0c 请多多尊重和支持原创 x1f341 对于文中所提供的相关资源
  • idea重构手法

    idea重构手法 四键齐发 xff1a ctrl 43 alt 43 shift 43 T 修改方法名 xff1a shift 43 F6修改方法参数 xff1a Ctrl 43 F6提取常量 xff1a Ctrl 43 Alt 43 C提
  • Linux下实现http的Get方法

    Linux如何实现http的GET数据方法 下载curl库源码 https curl se download html Linux编译 make拷贝库文件 xff0c 目录 curl 7 83 0 lib libs 下 libcurl so
  • 一篇关于GPS定位写得最详实清晰的文章之一

    一篇关于GPS定位写得最详实清晰的文章之一 介绍篇 过去 xff0c 如果你的女友是个路痴 xff0c 大概会有这样的对话 你在哪儿呢 xff1f 啊 xff1f 我在马路上啊 有什么特征 xff1f 头顶有个月亮 你旁边有什么啊 xff1
  • 基于HAL库STM32串口驱动不定长数据接收

    STM32串口驱动不定长数据接收带环形缓冲区 最新框架代码使用方法源码串口接口文件环形缓冲区接口文件 移植图示 使用涉及4个文件 xff0c UART Port c UART Port h CircularQueue h CircularQ
  • OptiTrack---Motive简单使用导出groundtruth

    文章目录 Motive介绍1 详细介绍 Motive使用1 详细使用2 简单使用导出groundtruth 1 首先安装Motive 2 启动Motive 3 建立body xff0c 进行录制 4 对结果进行保存 Motive介绍 1 详
  • 使用U盘安装Ubuntu20.04

    背景 今天自己鼓捣小电脑 xff0c 卖家发过来的时候已经按要求预装了Ubuntu20 04 xff0c 我想改一下卖家起的用户名 也许是计算机名 xff0c 分不太清 xff0c 结果搞的电脑输入密码却进不了桌面 xff0c 最终决定重装
  • 【ROS基础】rviz打开后如何显示实时2D地图

    1 背景 launch 了一个建图程序 xff0c 并打开了 rviz xff0c rviz 中也 add 了 map xff0c 但是 rviz 中并未出现期望的2D地图 xff0c 让人很是手足无措 2 问题解决 百度了才发现自己使用的
  • RTKlib源码解析:ppp和rtkpost中的周跳检测函数

    文章目录 前言detslp mwdetslp gfdetslp lldetslp dop 欢迎关注个人公众号 xff1a 导航员学习札记 前言 本文解析了RTKlib ppp c中两个周跳检测函数detslp mw和detslp gf xf
  • RTKlib相对定位源码解析:resamb_LAMBDA (整周模糊度求解)

    本文对resamb LAMBDA函数 xff0c 以及其中的ddmat restamb函数进行了解析 由于其中的lambda函数在参考论文中都给出了详细推导和计算步骤 xff0c 因此没有解析 lambda函数参考论文 xff1a 1 P
  • RTKlib PPP代码解析

    文章目录 ppposudstate pppudbias pppcorr measppp res 欢迎关注个人公众号 xff1a 导航员学习札记 我所基于的代码版本是RTKlib 2 4 3的一个拓展版本RTKexplore Demo5 xf
  • Android 动态修改SeekBar滑块和进度条的颜色

    方法一 1 需求 xff1a 需要改变其默认颜色 xff0c 样式 2 滑竿样式 seekbar xml lt xml version 61 34 1 0 34 encoding 61 34 utf 8 34 gt lt layer lis
  • GNSS定位(SPP、RTK、PPP)位置坐标系

    欢迎关注个人公众号 xff1a 导航员学习札记 文章目录 一 前言二 单点定位三 差分定位四 PPP 一 前言 最近研究不同FTP的基站数据 xff0c 发现它们坐标系都不一致 xff0c 因此研究了下GNSS定位结果的坐标系 参考了一些文
  • detrend去趋势函数的Matlab、Python与C实现

    文章目录 趋势分量对频域分析的影响detrend去趋势函数 xff08 Matlab Python xff09 detrend的C语言实现 趋势分量对频域分析的影响 在对信号做频域分析时 xff0c 如果有趋势项的存在 xff0c 会对分析
  • AHRS互补滤波(Mahony)算法及开源代码

    文章目录 一 前言二 算法流程三 算法步骤四 算法难点五 开源源码参考文献 欢迎关注个人公众号 xff1a 导航员学习札记 一 前言 AHRS Attitude and heading reference system xff0c 也就是航
  • RTKLIB 中的天线相位缠绕误差修正

    之前一直没有细看精密定位 xff08 PPP xff09 中的相位缠绕 xff0c 不过我觉得还是应该至少从应用层面理解PPP中每项修正 因此抱着不求甚解的心情 xff08 没有仔细去研究右旋极化信号 偶极等概念 xff09 xff0c 只
  • 关于PPP-RTK技术优势的一些思考与总结

    文章目录 一 前言二 SSR修正与PPP三 RTK与PPP RTK的对比四 PPP RTK的技术优势五 总结参考文章 欢迎关注个人公众号 xff1a 导航员学习札记 一 前言 感觉近几年PPP和PPP RTK一直都是GNSS比较火的方向 x
  • 【论文阅读笔记】里程计ODO/INS不同融合方式的性能比较

    文章目录 一 里程计的工作原理二 论文中的主要结论三 总结四 参考文献 欢迎关注个人公众号 xff1a 导航员学习札记 关于里程计的融合一般用 距离增量修正 和 速度修正 两种方式 我最近在想这两种方式在性能上有什么不同 xff0c 因此找
  • 惯性器件的零偏稳定性与零偏不稳定性

    文章目录 一 零偏稳定性和不稳定性概念二 测算方法参考文献 关于惯性器件的 零偏稳定性 和 零偏不稳定 的概念 xff0c 我一直都觉得有点混乱 xff0c 因此查找和整理了一些资料理清楚这两个概念 本文主要参考了武汉大学iNav团队的文章
  • 在Ubuntu 18.04上安装不同版本的python及选择默认Python

    文章目录 一 Python安装方法一 从Deadsnakes PPA安装deb软件包1 更新软件包列表并安装必备组件2 将deadsnakes PPA添加到系统的来源列表中 xff1a 3 安装Python4 验证 方法二 从源代码在Ubu