Ubuntu 16安装Python 3.10

操作系统为Ubuntu 16.04,默认的Python版本有2.73.5。由于不满足要求,需要更高版本的python。这里使用了Python3.10。其他操作系统或不同版本,请参考使用

先安装 OpenSSL 1.1.1

系统默认的是1.0.2.g,不满足要求(可以在Python源码make 阶段看到相关错误)

$ wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz

$ tar -xzf openssl-1.1.1k.tar.gz

$ cd openssl-1.1.1k

$ ./config

$ make

$ sudo make install

sudo mv /usr/bin/openssl /usr/bin/openssl10.2
sudo ln -s /usr/local/bin/openssl /usr/bin/openssl

现在查看openssl版本:openssl version
openssl: error while loading shared libraries: libssl.so.1.1 cannot open shared object file: No such file or directory 
进入刚才解压得到的 openssl-1.1.0k 目录下,将动态链接库放到 /lib/x86_64-linux-gnu 执行 

cp libssl.so.1.1 /lib/x86_64-linux-gnu
cp libcrypto.so.1.1 /lib/x86_64-linux-gnu 

$ openssl version
OpenSSL 1.1.1k  25 Mar 2021

更新系统软件仓库:

$sudo apt-get update

安装必需的libffi等,视情况而定(可以在Python源码make 阶段看到相关错误)

$ sudo apt install libffi-dev libssl-dev

安装必要的编译工具

$ sudo apt-get install build-essential checkinstall

安装依赖库:

$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

从 Python 官网下载 Python 3.10 的源代码。通过如下命令下载:

$ wget https://www.python.org/ftp/python/3.10.9/Python-3.10.9.tgz

$ tar -zxf Python-3.10.9.tgz

$ cd Python-3.10.9

$ ./configure

$ make

$ sudo make install

$ python3 –version

Python 3.10.9

$ pip3 –version

pip 22.3.1 from /usr/local/lib/python3.10/site-packages/pip (python 3.10)
 

为了在终端输入python时,使用安装的高版本python解释,需要将默认的解释器删除,并通过软链接新版的python解释器~
默认安装的python解释器在/usr/bin/python 或 /usr/bin/python3

$ ls -l /usr/bin/python*
lrwxrwxrwx 1 root root       9 Nov 24  2017 /usr/bin/python -> python2.7
lrwxrwxrwx 1 root root       9 Nov 24  2017 /usr/bin/python2 -> python2.7
-rwxr-xr-x 1 root root     319 Feb 24  2016 /usr/bin/python2-jsonschema
-rwxr-xr-x 1 root root     151 Nov 23  2015 /usr/bin/python2-pbr
-rwxr-xr-x 1 root root 3492624 Mar  2  2021 /usr/bin/python2.7
lrwxrwxrwx 1 root root       9 Oct 30 19:07 /usr/bin/python3 -> python3.5
-rwxr-xr-x 2 root root 4456208 Jan 27  2021 /usr/bin/python3.5
-rwxr-xr-x 2 root root 4456208 Jan 27  2021 /usr/bin/python3.5m
lrwxrwxrwx 1 root root      10 Oct 30 19:07 /usr/bin/python3m -> python3.5m

$ rm /usr/bin/python

$ ln -s /usr/local/bin/python3.10 /usr/bin/python

$python -V
Python 3.10.9

$ ln -s /usr/local/bin/pip3.10 /usr/bin/pip

$ pip -V
pip 22.3.1 from /usr/local/lib/python3.10/site-packages/pip (python 3.10)

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

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

相关文章

Bert学习笔记(简单入门版)

目 录 一、基础架构 二、输入部分 三、预训练:MLMNSP 3.1 MLM:掩码语言模型 3.1.1 mask模型缺点 3.1.2 mask的概率问题 3.1.3 mask代码实践 3.2 NSP 四、如何微调Bert 五、如何提升BERT下游任务表现 5.1 一般做法 5.2 如何在相同领域数据中进…

037、目标检测-算法速览

之——常用算法速览 目录 之——常用算法速览 杂谈 正文 1.区域卷积神经网络 - R-CNN 2.单发多框检测SSD,single shot detection 3.yolo 杂谈 快速过一下目标检测的各类算法。 正文 1.区域卷积神经网络 - R-CNN region_based CNN,奠基性的工作。…

[C++历练之路]vector的介绍以及底层模拟实现

W...Y的主页 😊 代码仓库分享 💕 🍔前言: 我们学习了STL中的string以及其所有重要接口并进行了模拟实现,但是STL中包含的内容不止于此。学习了string之后继续学习STL中的vector,学习成本会大大降低&#…

CentOS7 安装mysql8(离线安装)postgresql14(在线安装)

注:linux系统为vmware虚拟机,和真实工作环境可能有出入,不过正因如此我暴露了NAT转出的IP也没什么大碍 引言 postgresql与mysql目前都是非常受人欢迎的两大数据库,其各有各的优势,初学者先使用简单一张图来说明两者区…

【算法挨揍日记】day31——673. 最长递增子序列的个数、646. 最长数对链

673. 最长递增子序列的个数 673. 最长递增子序列的个数 题目解析: 给定一个未排序的整数数组 nums , 返回最长递增子序列的个数 。 注意 这个数列必须是 严格 递增的。 解题思路: 算法思路: 1. 状态表⽰: 先尝试…

取数游戏2(动态规划java)

取数游戏2 题目描述 给定两个长度为n的整数列A和B,每次你可以从A数列的左端或右端取走一个数。假设第i次取走的数为ax,则第i次取走的数的价值vibi⋅ax,现在希望你求出∑vi的最大值。 输入格式 第一行一个数T ,表示有T 组数据。…

【算法挨揍日记】day27——152. 乘积最大子数组、1567. 乘积为正数的最长子数组长度

152. 乘积最大子数组 152. 乘积最大子数组 题目描述: 给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 测试用例的答案是一个 32-位 整…

【狂神说Java】Docker概述 | Docker安装 | Docker的常用命令

✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆 🔥系列专栏 :【狂神说Java】 📃新人博主 :欢迎点赞收藏关注,会回访! 💬舞台再大,你不上台&#xff0c…

PS学习笔记——视图调整

文章目录 图片拖动图片旋转图片缩放 视图只是我们在对图片进行操作时所看到的图片状态,并不会实际改变图片的属性。目的是方便我们在操作图片时有最舒服的体验 图片拖动 工具栏中有这样一个抓手工具(快捷键H),选择这个抓手工具便可以在图片放大后能用鼠标…

2023年四川省安全员A证证模拟考试题库及四川省安全员A证理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2023年四川省安全员A证证模拟考试题库及四川省安全员A证理论考试试题是由安全生产模拟考试一点通提供,四川省安全员A证证模拟考试题库是根据四川省安全员A证最新版教材,四川省安全员A证大纲整理…

BGP联盟和团体属性实验

目录 一、实验拓扑 二、实验要求 三、实验步骤 1、IP地址配置 2、ospf配置 3、BGP建邻 4、宣告网段 5、配置团体属性 一、实验拓扑 二、实验要求 1、按照图示配 IP 地址,R2,R3,R4,R5分别配 Loopbacke 口地址作为OSPF的Ro…

系列六、GC垃圾回收【四大垃圾算法-标记清除算法】

一、概述 标记清除算法分为两个阶段,即:标记和清除两个阶段,先标记出要回收的对象,然后统一回收这些对象。形如: 老年代一般是由标记清除或者标记清除 标记压缩的混合实现。 二、原理 用通俗的话解释一下标记清除算法…

深入解析:开发抖音酒店景区小程序的技术

抖音作为社交媒体平台的佼佼者,其独特的风格和用户基础吸引了无数开发者的目光。在本文中,我们将深入解析开发抖音酒店景区小程序的关键技术,为开发者提供实用指南。 1.抖音风格设计 在开发酒店景区小程序时,首先要注重界面设计…

Leetcode—剑指Offer LCR 140.训练计划II【简单】

2023每日刷题(三十三) Leetcode—LCR 140.训练计划II 实现代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* trainingPlan(struct ListNode* head, int cnt) {str…

C/C++ 获取主机网卡MAC地址

MAC地址(Media Access Control address),又称为物理地址或硬件地址,是网络适配器(网卡)在制造时被分配的全球唯一的48位地址。这个地址是数据链路层(OSI模型的第二层)的一部分&#…

《向量数据库指南》——什么是 向量数据库Milvus Cloud的Range Search?

Range Search 功能诞生于社区。 某天,一位做系统推荐的用户在社区提出了需求,希望 Milvus Cloud 能提供一个新功能,可以返回向量距离在一定范围之内的结果。而这不是个例,开发者在做相似性查询时,经常需要对结果做二次过滤。 为了帮助用户解决这一问题,Milvus Cl…

STL的介绍

STL 是 C 标准模板库(Standard Template Library)的缩写,是 C 标准库中的一个重要组成部分。STL 提供了一组通用的模板类和函数,用于实现常用的数据结构和算法,如向量(vector)、链表&#xff08…

科大讯飞会议笔记本、GoodNotes、E人E本 功能及体验对比

科大讯飞会议笔记本、GoodNotes、E人E本功能及体验对比 【旧文档,怕失传】 通过对科大讯飞会议笔记本、基于iPad的GoodNotes以及E人E本的各项功能指标进行了实际对比,得出了以下结果: 在实际体验中,科大讯飞笔记本在录音方面表…

酷柚易汛ERP - 盘点操作指南

1、应用场景 盘点功能是定期或临期对库存货物进行清点,使账面记录与实际库存相符合,从而随时掌握货物盈亏状态。 2、主要操作 2.1 盘点商品查询 打开【仓库】-【盘点】新增盘点单,筛选需要盘点的日期范围、库存及相应商品 2.2 录入盘点数…

【算法挨揍日记】day30——300. 最长递增子序列、376. 摆动序列

300. 最长递增子序列 300. 最长递增子序列 题目解析: 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如&#…