Ubuntu 22.04安装Python3.10.13

Ubuntu最好设置为英文,我之前用中文在make的test的时候,总是会有fail。

查了下有人怀疑是language的问题,保险起见都用英文,个人实践也证明改为英文就不报错了。

issue 44031: test_embed and test_tabnanny fails if the current directory is non-ASCII - Python trackericon-default.png?t=N7T8https://bugs.python.org/issue44031

1.下载Python3.10.13

Python Release Python 3.10.13 | Python.orgicon-default.png?t=N7T8https://www.python.org/downloads/release/python-31013/得到Python-3.10.13.tgz

2.解压Python-3.10.13.tgz

3.进入Python-3.10.13目录打开终端

先安装依赖的包

(很重要!!否则会在make install时出现make: *** [Makefile:1280: install] Error 1)

installation - make: *** [Makefile:1280: install] Error 1 - Stack Overflowicon-default.png?t=N7T8https://stackoverflow.com/questions/70848502/make-makefile1280-install-error-1

$ sudo apt install build-essential
$ sudo apt install libssl-dev libffi-dev libncurses5-dev zlib1g zlib1g-dev libreadline-dev libbz2-dev libsqlite3-dev make gcc

 再安装Python

$ ./configure --enable-optimizations
$ make
$ sudo make install

========================

安装成功之后,会提示一个pip相关信息,且使用pip时会提示Command 'pip' not found

WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

原因是

这意味着一个 Python 安装可能无法满足 每个应用程序的要求。如果应用程序 A 需要版本 1.0 的特定模块,但应用程序 B 需要 2.0 版本,然后 要求与安装 1.0 版或 2.0 版之间存在冲突 将使一个应用程序无法运行。

这个问题的解决方案是创建一个虚拟环境,一个 包含 Python 安装的独立目录树 特定版本的 Python,以及一些额外的包。

pip从版本10开始禁止在没有虚拟环境的情况下进行安装。

按照https://pip.pypa.io/warnings/venv的方式,在项目目录新建 virtual environment ,来使用pip

项目目录打开终端

为虚拟环境创建一个目录tutorial-env,这个可以自己指定名字

python -m venv tutorial-env

激活

source tutorial-env/bin/activate

不想用了就关闭

deactivate

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

删除了几个月的照片能找回么 怎么找回半年前删除的照片 数据恢复软件推荐

照片定格了风景,保存了记忆,是我们对过往的一种留念。在数字化的今天,我们越来越习惯把照片存放在电脑里面,随着占用的空间越来越大,我们也会经常处理不用的照片。当然,难免有时候也会误删有用的照片。本篇…

js定时器功能

js定时器功能 定时器返回值:是一个正整数,表示由 setTimeout() 调用创建的定时器的编号。这个值可以传递给 clearTimeout() 来取消该定时器。 var st;var sp; function start(){stsetTimeout("test()",3000); //3s后执行test,返…

AcWing 528. 奶酪 (并查集)

记录此题主要是明确两点: 强制转long long的时候只会影响乘法,如果是加法的话就要在每个乘的前面都加上long long,否则无法达到要求。在使用并查集来做连通问题时,可以设出两个不影响其他数据的点来代表想要连通的两个地方 现有一…

STM32 AD单通道函数设计

单片机学习! 目录 文章目录 前言 一、ADC配置步骤 二、详细步骤 2.1 开启RCC时钟 2.2 配置GPIO 2.3 配置多路开关 2.4 配置ADC转换器 2.5 开启ADC电源 2.6 ADC进行校准 2.6.1 复位校准 2.6.2 等待复位校准完成 2.6.3 开始校准 2.6.4 等待校准完成 三、启动AD转换函数…

zookeeper 总结

1.zookeepr 节点的唯一性。 ZooKeeper中节点的唯一性是通过节点路径和节点数据构成的唯一标识来实现的。当创建节点时,如果提供的路径已经存在,则创建操作会失败,除非请求包含了Ephemeral类型的节点特有的可选字段SEQUENTIAL或EPHEMERAL。 …

STM32不使用中断实现定时器微秒级精确延时

我们在写代码的时候避免不了要使用延时函数,很多延时函数都是使用中断或者tick来实现的,tick的方式最大到毫秒ms级别,通过中断方式的通用定时器来实现,如果实现1us的延时那么每1us就来一次中断,很影响cpu的效率。 本文…

程序员表白

啥?!你说程序员老实,认真工作,根本不会什么表白!那你就错了!(除了我) 那今天我们就来讲一下这几个代码!赶紧复制下来,这些代码肯定有你有用的时候! 1.Python爱心代码 im…

Google XSS Game Level 6 通关方式

文章目录 链接:[Google XSS Game](#https://xss-game.appspot.com/)Level 6 - Follow the 🐇思路1 (当然,我使用这个方式没有成功,所以才来记录下)解法2 【最简单的解法】需要注意的一个小问题 链接&#x…

单相桥式全控整流电路

1仿真目的 通过对单相桥式全控整流电路的仿真研究,分析电路带电阻负载与阻感负载的不同工作情况。研究对电路的影响 2仿真原理 2.1单相桥式 如图所示为单相桥式全控电路的框图,设负载为电阻负载。在桥式逆变电路中,桥臂的上下两个开关器件…

RabbitMQ在Java中使用 SpringBoot 从基础到高级

充分利用每一个监听者 需要充分利用每一个消费者,需要在配置文件中加上prefetch配置并设置为1 rabbitmq:listener:simple:prefetch: 1 # 每次只能获取一条消息,处理完成才能获取下一个消息创建交换机和队列 创建队列 "fanout.queue1"&…

超融合服务器:企业转型的助推器?

在当今快速发展的数字化时代,企业需要灵活、高效且可靠的IT基础设施来支撑其业务运营。传统的存储环境由于其复杂性和局限性,已经难以满足现代企业的需求。而超融合设备的出现,为企业提供了一个全新的选择。本文将深入探讨超融合服务器的优势…

C++一维数组练习oj(2)

这时上次的C一维数组练习:C一维数组练习oj-CSDN博客 这到题目我承认非常难!当然这只是我认为,因为我只学到了一维数组! 对于你们来说可能不难。 好了我不客套了。 这题我们可以将他理解为一条时间轴: 时间轴上小李每1…

【Linux 08】进程概念

文章目录 🌈 01. 基本概念🌈 02. 描述进程 PCB🌈 03. 使用 ./ 的方式创建进程🌈 04. ps 查看进程🌈 05. getpid / getppid 获取进程标识符🌈 06. kill 终止指定进程🌈 07. fork 创建子进程&…

tftp使用

下载 sudo apt-get install tftpd-hpa 创建文件夹 mkdir /home/ljl/work/tftpd mkdir /home/ljl/tftpd chmod 777 tftpd/编辑 sudo vim /etc/default/tftpd-hpa //服务器端 sudo apt-get install tftp-hpa //客户端编辑权限 sudo vi /etc/default/tftpd-hpa 内容&#xff1…

1. 列表补全

while 1:try:offset,n,l1,l2 map(int,input().split())start1 end1 start2 end2 0if offset>l1: # 有被跳过的页start1 end1 l1if offset>l1l2: # 第二页是否被跳过start2 end2 l2else: # 第二页被展示的部分start2,end2 offset-l1…

SQL Server 2008R2 日志文件大小设置及查询

SQL Server 2008R2 建立数据库存在日志无限增长问题,造成磁盘内存不足。本文解决这个问题,如下: 1.设置日志文件的最大大小 USE master; GO ALTER DATABASE [D_total] MODIFY FILE (NAME D_total_log, -- 日志文件的逻辑名称MAXSIZE 200…

【黄啊码】如何用GPT和向量数据库做问答型AI

知识库服务依赖该数据库,Embedding 形式个性化训练 ChatGPT,必不可少的就是向量数据库 因为 qdrant 向量数据库只支持 Docker 部署,所以需要先安装好 Docker 服务。 命令行安装 拉取镜像 docker pull qdrant/qdrant 运行服务 docker run -…

飞桨AI应用@riscv OpenKylin

在riscv编译安装飞桨PaddlePaddle参见: 算能RISC-V通用云编译飞桨paddlepaddleopenKylin留档_在riscv下进行paddlelite源码编译-CSDN博客 安装好飞桨,就可以用飞桨进行推理了。刚开始计划用ONNX推理,但是在算能云没有装上,所以最…

【正点原子Linux连载】第十七章 异步通知实验 摘自【正点原子】ATK-DLRK3568嵌入式Linux驱动开发指南

1)实验平台:正点原子ATK-DLRK3568开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id731866264428 3)全套实验源码手册视频下载地址: http://www.openedv.com/docs/boards/xiaoxitongban 第十七…

C 经典面试题15例

1.引用与指针有什么区别? 答 、1) 引用必须被初始化,指针不必。 2) 引用初始化以后不能被改变,指针可以改变所指的对象。 3) 不存在指向空值的引用,但是存在指向空值的指针。 2. 描述实时系统的基本特性 答 、在特定时间内完成特定的任…