Ubuntu16.04更新python3版本

对于初次接触更新ubuntu python版本的开发者,请注意以下两点(熟悉系统者请随意):

不要删除软链接!不要删除软链接!不要删除软链接!

不要删除原python版本!不要删除原python版本!不要删除原python版本!

ubuntu桌面以及终端会依赖原本自带的python版本,贸然删除轻则会导致终端无法打开以及桌面消失等问题,重则系统崩溃,因而使用alternative进行多个共存python版本的切换。

目录

Step0 前期准备

Step1 下载源码安装包(以3.8.0为例)

Step2 解压并配置安装目录

Step3 编译

Step4 安装

Step5 配置环境变量

 Step6 添加和选择python&python3命令指向

Step7 选择python版本

Step8 删除安装包


Step0 前期准备

1、安装所需的依赖(针对所有版本):

sudo apt-get install libffi-dev uuid-dev lzma-dev liblzma-dev libncurses5-dev libgdbm-dev sqlite3 libsqlite3-dev openssl tcl8.6-dev tk8.6-dev libreadline-dev zlib1g-dev build-essential bzip2 libbz2-1.0 libbz2-dev libc6-dev libdb-dev libexpat1 libexpat1-dev libgdbm3 libncursesw5-dev libpcap-dev libreadline5 libreadline6 libreadline6-dev libsqlite0 libsqlite0-dev libsqlite3-0 libssl-dev libssl1.0.0 libxml2-dev libxslt1-dev sqlite tcl tk tk-dev xz-utils zlib1g zlib1g-dev make  

2、查看候选列表中已有的Python版本(没有配置过的话,是不存在的):

sudo update-alternatives --list python

 

如果没有配置过将提示 错误:无python候选项

3、添加 python & python3 指向选择

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 99
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 100

后面的数字代表优先级,数字越高优先级越高。

4、创建新版python的安装目录(便于卸载)

cd /usr/local
sudo mkdir -p /usr/local/python
sudo chmod -R 777 ./python

Step1 下载源码安装包(以3.8.0为例)

cd ~
wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz

Step2 解压并配置安装目录

cd /usr/local/python
sudo mkdir ./python3.8

cd ~
tar -xf ~/Python-3.8.0.tgz

cd ~/Python-3.8.0
./configure prefix=/usr/local/python/python3.8 --enable-optimizations

Step3 编译

cd ~/Python-3.8.0
make -j 2

//make -j <num_jobs>
//其中<num_jobs>是要使用的并行作业数
//假如有4核处理器,就可以-4

Step4 安装

一定要使用altinstall,使用install可能为覆盖安装,将可能导致Ubuntu崩溃。

cd ~/Python-3.8.0
sudo make altinstall  >&1|tee make.log

Step5 配置环境变量

gedit ~/.bashrc

在文件末尾添加:

#[Python3.8]
export PATH=$PATH:/usr/local/python/python3.8/bin

 保存退出后执行:

source ~/.bashrc

 Step6 添加和选择python&python3命令指向

后面的值配置小于系统的python版本

sudo update-alternatives --install /usr/bin/python python /usr/local/python/python3.8/bin/python3.8 38 
sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/python/python3.8/bin/python3.8 38

Step7 选择python版本

sudo update-alternatives --config python

*号后面是ubuntu的默认版本

Step8 删除安装包

cd ~
sudo rm -r ./Python-3.8.0
rm -r ./Python-3.8.0.tgz

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/528408.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于SSM+Jsp+Mysql的高校毕业设计管理系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

MySQL-10. 存储引擎、视图、mysql管理

10.1 存储引擎 存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的&#xff0c;所以存储引擎也可以称为表类型&#xff08;即存储和操作此表的类型&#xff09;。 存储引擎(Stor…

关于GNSS硬件延迟初步学习,电离层提取

1、卫星端偏差分为频间和频内偏差&#xff08;inter or intra frequency&#xff09;&#xff0c;下面以GPS的C1C和C2W组合为例分析对PPP解算的影响&#xff1a; 如果不改正卫星端的inter-frequency&#xff08;即&#xff1a;C1C-C1W&#xff09;偏差&#xff08;因为每颗卫星…

基于springboot实现校园资料分享平台系统项目【项目源码+论文说明】

基于springboot实现校园资料分享平台系统演示 摘要 随着信息互联网购物的飞速发展&#xff0c;国内放开了自媒体的政策&#xff0c;一般企业都开始开发属于自己内容分发平台的网站。本文介绍了校园资料分享平台的开发全过程。通过分析企业对于校园资料分享平台的需求&#xff…

SSM项目转Springboot项目

SSM项目转Springboot项目 由于几年前写的一个ssm项目想转成springboot项目&#xff0c;所以今天倒腾了一下。 最近有人需要毕业设计转换一下&#xff0c;所以我有时间的话可以有偿帮忙转换&#xff0c;需要的私信我或&#xff0b;v&#xff1a;Arousala_ 首先创建一个新的spr…

快速恢复1对共阴极二极管ER1006F 特点与应用,你必须看的好文章~

ER1006F是一款二极管&#xff0c;ER1006F是款正向电流为 10A&#xff0c;反向电压为600V的二极管。它的正向压降为1.05V&#xff0c;反向电流为10μA。这些参数使得ER1006F在很多应用中都非常适用。 首先&#xff0c;正向电流是指电流从二极管的阳极流向阴极的电流。ER1006F的正…

操作系统知识

根据希赛相关视频课程汇总整理而成&#xff0c;个人笔记&#xff0c;仅供参考。 操作系统概述 *进程管理 进程&#xff1a;程序在一个数据集合上运行的过程&#xff0c;它是系统进行资源分配和调度的一个独立单位。由程序块、进程控制块&#xff08;PCB&#xff09;和数据块三…

龙蜥社区「人人都可以参与开源」——参与心得

一、初识龙蜥 参加龙蜥社区的体验&#xff0c;犹如走进了一个满载知识宝藏的科技殿堂&#xff0c;它不仅集结了国内外对开源操作系统技术抱有热忱的高手&#xff0c;更是一个不断孕育创新理念与实践成果的孵化器。在这里&#xff0c;每一刻都充满启迪&#xff0c;每一步都伴随…

AI创作出来的图,有没有版权?总结了三派观点,你觉得呢?

关于这个问题分成了三派&#xff0c;老铁们可以忽略图片&#xff0c;认真思考版权这个问题。 一、无版权派 因为按照我国目前对版权的定义著作权&#xff1a;是指自然人、法人或者其他组织对文学、艺术和科学作品享有的财产权利和精神权利的总称。那么AI既不属于自然人也不属…

2月珍珠饰品电商数据分析:价格翻倍,销售额暴增140%!

珍珠饰品这两年受到国内消费者的追捧&#xff0c;这股热潮随着电商直播的快速发展延续至今。与此同时&#xff0c;年轻人群体正成为珍珠消费的主力军&#xff0c;他们在各大直播间频繁亮相&#xff0c;以实际购买力展现了对珍珠饰品的热爱与追捧。 今年2月份&#xff0c;珍珠饰…

从入门到精通:系统性学习Linux虚拟网络设备的全面指南

学习一个从未接触过的Linux虚拟网络设备是一个分阶段的过程&#xff0c;从最初的认识到最后的精通&#xff0c;需要系统性和逐步深入的学习策略。以下是一个全面的指南&#x1f4da;&#xff0c;旨在帮助初学者通过多角度分析&#x1f50d;&#xff0c;一步一步地学习和掌握新的…

GlusterFS分布式文件系统

一、GlusterFS简介 GlusterFS 是一个开源的分布式文件系统。由存储服务器、客户端以及NFS/Samba存储网关(可选&#xff0c;根据需要选择使用)组成。没有元数据服务器组件&#xff0c;这有助于提升整个系统的性能、可靠性和稳定性 二、GlusterFS特点 2.1 扩展性和高性能 Glu…

【随笔】Git 基础篇 -- 分支与合并 git merge(九)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…

什么是 Python 解释器

我们编写程序代码&#xff0c;就是要 让计算机 按照我们的想法 去做事 。 程序代码是用编程语言编写的&#xff0c;而 Python 语言&#xff0c; 是计算机硬件&#xff08;主要是 CPU&#xff09;听不懂的语言。 计算机 CPU 只能听懂 机器指令。 所以&#xff0c;我们需要一个…

(学习日记)2024.04.08:UCOSIII第三十六节:事件

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

本地MinIO存储服务通过Java程序结合cpolar实现远程连接上传文件

文章目录 前言1. 创建Buckets和Access Keys2. Linux 安装Cpolar3. 创建连接MinIO服务公网地址4. 远程调用MinIO服务小结5. 固定连接TCP公网地址6. 固定地址连接测试 前言 MinIO是一款高性能、分布式的对象存储系统&#xff0c;它可以100%的运行在标准硬件上&#xff0c;即X86等…

Linux shell编程学习笔记46:awk命令的由来、功能、格式、选项说明、版权、版本

0 前言 在编写Linux Shell脚本的过程中&#xff0c;我们经常要对Linux命令执行的结果进行分析和提取&#xff0c;Linux也在文本分析和提取这方面提供了不少的命令。比如我们之前研究过的cut命令。 Linux shell编程学习笔记43&#xff1a;cut命令https://blog.csdn.net/Purple…

基于R语言的影视评分影响因素实证分析(二)

在某网站抓取了百条数据,试图通过对这些数据的分析,找出电影受欢迎的因素。本案例共获取100条数据。数据详情如下: 1.数据处理及变量描述 首先对数据进行筛选处理,将不需要或者缺失变量进行剔除。 电影类型只保留第一个选项,即《唐人街探案2》的电影类型有喜剧,动作,犯罪…

transformer上手(2) —— 注意力机制

自从 2017 年 Google 发布《Attention is All You Need》之后&#xff0c;各种基于 Transformer 的模型和方法层出不穷。尤其是 2018 年&#xff0c;OpenAI 发布的 GPT 和 Google 发布的 BERT 模型在几乎所有 NLP 任务上都取得了远超先前最强基准的性能&#xff0c;将 Transfor…

苹果手机短信删除了怎么恢复?别急,教你4招恢复技巧

在日常使用中&#xff0c;由于误操作或其他原因&#xff0c;我们可能会不小心删除了重要的短信&#xff0c;这时就需要寻找合适的方法来恢复它们。短信删除了怎么恢复&#xff1f;请接着往下看&#xff01; 首先&#xff0c;不必过于紧张&#xff0c;因为苹果手机提供了一些功…