当前位置: 首页 > news >正文

ubuntu 安装管理多版本python3 相关问题解决

背景:使用ubuntu 22.04  默认python 未3.10.编译一些模块的时候发现需要降级到python3.9.于是下载安装

下载:

        

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

解压与编译

tar -xf Python-3.9.16.tgz
cd Python-3.9.16
./configure --enable-optimizations --with-lto --enable-shared
make -j4 //这里根据自己的cpu core 自行更新需要的数字 

提示:

        在编译完成后,可能会遇到一些缺少库的提示,尽量安装完成,参考如下

Python build finished successfully!
The necessary bits to build these optional modules were not found:
_dbm                  _tkinter                            
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

可以使用相关的一些指令去安装,例如

sudo apt-get install xxx (或者libxxx-dev)  //xxx 未上面报的缺少的内容

安装:

        

sudo make altinstall

 安装后遇到的问题

   1.error while loading shared libraries: libpython3.9.so.1.0: cannot open shared object file: No such file or directory

问题根因

         系统默认加载/usr/lib,/lib下面库文件,python3.9 默认安装到非此类文件夹,所以查找不到相关的lib

解决方案

        1,cp /usr/local/lib/libpython3.9.so.1.0 /usr/lib64

                ldconfig

        2,cp /usr/local/lib/libpython3.9.so.1.0 /usr/lib

             echo "/usr/lib" > /etc/ld.so.conf.d/python3.9.conf

                ldconfig

重点:以上修改原理都一样,根据个人爱好。我 用的第一个。一定要运行ldconfig,这个很重要。

2. terminal 或者终端打不开

        问题根因:

               使用原生的xterm ,运行命令:gnome-terminal.报错如下:

        

指定默认python版本

由于系统中有多个python 版本,需要指定使用哪个,网上有各种各样的版本,我建议使用正规方式,使用update-alternatives的方式

        1,确认都有系统哪些python版本 

        可以通过ls /usr/bin/python* 等方式来确认

2,使用update-alternatives来修改

*************************:~$  update-alternatives --help
Usage: update-alternatives [<option> ...] <command>Commands:--install <link> <name> <path> <priority>[--slave <link> <name> <path>] ...add a group of alternatives to the system.--remove <name> <path>   remove <path> from the <name> group alternative.--remove-all <name>      remove <name> group from the alternatives system.--auto <name>            switch the master link <name> to automatic mode.--display <name>         display information about the <name> group.--query <name>           machine parseable version of --display <name>.--list <name>            display all targets of the <name> group.--get-selections         list master alternative names and their status.--set-selections         read alternative status from standard input.--config <name>          show alternatives for the <name> group and ask theuser to select which one to use.--set <name> <path>      set <path> as alternative for <name>.--all                    call --config on all alternatives.<link> is the symlink pointing to /etc/alternatives/<name>.(e.g. /usr/bin/pager)
<name> is the master name for this link group.(e.g. pager)
<path> is the location of one of the alternative target files.(e.g. /usr/bin/less)
<priority> is an integer; options with higher numbers have higher priority inautomatic mode.Options:--altdir <directory>     change the alternatives directory(default is /etc/alternatives).--admindir <directory>   change the administrative directory(default is /var/lib/dpkg/alternatives).--instdir <directory>    change the installation directory.--root <directory>       change the filesystem root directory.--log <file>             change the log file.--force                  allow replacing files with alternative links.--skip-auto              skip prompt for alternatives correctly configuredin automatic mode (relevant for --config only)--quiet                  quiet operation, minimal output.--verbose                verbose operation, more output.--debug                  debug output, way more output.--help                   show this help message.--version                show the version.

显示配置

update-alternatives --display python3

 若果没有,就按照规则添加

sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.9 2
sudo update-alternatives --install /usr/bin/python3 python3 /usr//bin/python3.10 1

后面的数字越大,优先级越高

选择默认python 配置

sudo  update-alternatives --config  python3

根据提示,输入需要python版本前面的数字

持续更新中。。。

相关文章:

ubuntu 安装管理多版本python3 相关问题解决

背景&#xff1a;使用ubuntu 22.04 默认python 未3.10.编译一些模块的时候发现需要降级到python3.9.于是下载安装 下载&#xff1a; wget https://www.python.org/ftp/python/3.9.16/Python-3.9.16.tgz解压与编译 tar -xf Python-3.9.16.tgz cd Python-3.9.16 ./configure -…...

滑动窗口算法篇:连续子区间与子串问题

1.滑动窗口原理 那么一谈到子区间的问题&#xff0c;我们可能会想到我们可以用我们的前缀和来应用子区间问题&#xff0c;但是这里对于子区间乃至子串问题&#xff0c;我们也可以尝试往滑动窗口的思路方向去进行一个尝试&#xff0c;那么说那么半天&#xff0c;滑动窗口是什么…...

Python爬虫实战:股票分时数据抓取与存储 (1)

在金融数据分析中&#xff0c;股票分时数据是投资者和分析师的重要资源。它能够帮助我们了解股票在交易日内的价格波动情况&#xff0c;从而为交易决策提供依据。然而&#xff0c;获取这些数据往往需要借助专业的金融数据平台&#xff0c;其成本较高。幸运的是&#xff0c;通过…...

【设计模式】【行为型模式】访问者模式(Visitor)

&#x1f44b;hi&#xff0c;我不是一名外包公司的员工&#xff0c;也不会偷吃茶水间的零食&#xff0c;我的梦想是能写高端CRUD &#x1f525; 2025本人正在沉淀中… 博客更新速度 &#x1f44d; 欢迎点赞、收藏、关注&#xff0c;跟上我的更新节奏 &#x1f3b5; 当你的天空突…...

基于实例详解pytest钩子pytest_generate_tests动态生成测试的全过程

关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理&#xff0c;构建成功的基石 在自动化测试工作之前&#xff0c;你应该知道的10条建议 在自动化测试中&#xff0c;重要的不是工具 作为一名软件开发人员&#xff0c;你一定深知有效测试策略的重要性&#xff0c;尤其…...

Copilot基于企业PPT模板生成演示文稿

关于copilot创建PPT&#xff0c;咱们写过较多文章了&#xff1a; Copilot for PowerPoint通过文件创建PPT Copilot如何将word文稿一键转为PPT Copilot一键将PDF转为PPT&#xff0c;治好了我的精神内耗 测评Copilot和ChatGPT-4o从PDF创建PPT功能 Copilot for PPT全新功能&a…...

2025百度快排技术分析:模拟点击与发包算法的背后原理

一晃做SEO已经15年了&#xff0c;2025年还有人问我如何做百度快速排名&#xff0c;我能给出的答案就是&#xff1a;做好内容的前提下&#xff0c;多刷刷吧&#xff01;百度的SEO排名算法一直是众多SEO从业者研究的重点&#xff0c;模拟算法、点击算法和发包算法是百度快速排名的…...

七星棋牌全开源修复版源码解析:6端兼容,200种玩法全面支持

本篇文章将详细讲解 七星棋牌修复版源码 的 技术架构、功能实现、二次开发思路、搭建教程 等内容&#xff0c;助您快速掌握该棋牌系统的开发技巧。 1. 七星棋牌源码概述 七星棋牌修复版源码是一款高度自由的 开源棋牌项目&#xff0c;该版本修复了原版中的多个 系统漏洞&#…...

解锁原型模式:Java 中的高效对象创建之道

系列文章目录 后续补充~~~ 文章目录 一、引言1.1 软件开发中的对象创建困境1.2 原型模式的登场 二、原型模式的核心概念2.1 定义与概念2.2 工作原理剖析2.3 与其他创建型模式的差异 三、原型模式的结构与角色3.1 抽象原型角色3.2 具体原型角色3.3 客户端角色3.4 原型管理器角色…...

DeepSeek从入门到精通:揭秘 AI 提示语设计误区与 AI 幻觉(新手避坑指南)

文章目录 引言常见陷阱与应对策略&#xff1a;新手必知的提示词设计误区缺乏迭代陷阱&#xff1a;期待一次性完美结果过度指令与模糊指令陷阱&#xff1a;当细节缺乏重点或意图不明确假设偏见陷阱&#xff1a;当前 AI 只听你想听的幻觉生成陷阱&#xff1a;当AI自信地胡说八道忽…...

Jenkins同一个项目不同分支指定不同JAVA环境

背景 一些系统应用,会为了适配不同的平台,导致不同的分支下用的是不同的gradle,导致需要不同的JAVA环境来编译,比如a分支需要使用JAVA11, b分支使用JAVA17。 但是jenkins上,一般都是Global Tool Configuration 全局所有环境公用一个JAVA_HOME。 尝试过用 Build 的Execut…...

从入门到精通:Postman 实用指南

Postman 是一款超棒的 API 开发工具&#xff0c;能用来测试、调试和管理 API&#xff0c;大大提升开发效率。下面就给大家详细讲讲它的安装、使用方法&#xff0c;再分享些实用技巧。 一、安装 Postman 你能在 Postman 官网&#xff08;https://www.postman.com &#xff09;下…...

win32汇编环境,对话框中使用月历控件示例二

;运行效果 ;win32汇编环境,对话框中使用月历控件示例二 ;以下示例有2个操作,即将每周的开始日进行改变,将默认的周日开始改为周一开始,同时实现点击哪个日期,则设定为哪个日期 ;直接抄进RadAsm可编译运行。重要部分加备注。 ;下面为asm文件 ;>>>>>>>&…...

gsoap实现webservice服务

gsoap实现webservice服务 在实现Web服务时&#xff0c;使用gSOAP是一个很好的选择&#xff0c;因为它提供了强大的工具和库来创建SOAP和RESTful服务。gSOAP是一个C和C语言开发的库&#xff0c;它支持SOAP协议的各种版本&#xff0c;包括SOAP 1.1和SOAP 1.2。下面是如何使用gSO…...

容联云联络中心AICC:深度整合DeepSeek,业务验证结果公开

容联云重磅推出AICC3.2版本&#xff0c;实现了智能化的升级与外呼效率的突破——深度整合DeepSeek-R1大模型、预测式外呼在数据分析侧的增强、全渠道路由能力、一键多呼效率的强化。 同时&#xff0c;全面接入DeepSeek-R1的容联云 AICC3.2 &#xff0c;目前已与某知名汽车金融企…...

腿足机器人之七- 逆运动学

腿足机器人之七- 逆运动学 基本概念腿部运动的数学表示坐标系定义以及自由度说明正运动学模型 逆运动学求解几何解法数值迭代法雅可比矩阵法基础双足机器人步态规划中的雅可比法应用 工程挑战与解决方案实际应用中的工具和算法多解问题高自由度机器人&#xff08;如Atlas的28自…...

快速点位排查问题的方法

一、核心思路&#xff1a;缩小问题范围 1. 分治法&#xff08;Divide and Conquer&#xff09; 原理&#xff1a;将复杂系统拆分为独立模块&#xff0c;逐层验证。示例&#xff1a; 网络问题&#xff1a;检查客户端 → 本地网络 → 服务器 → 数据库。代码问题&#xff1a;注…...

【前端】Vue组件库之Element: 一个现代化的 UI 组件库

文章目录 前言一、官网1、官网主页2、设计原则3、导航4、组件 二、核心功能&#xff1a;开箱即用的组件生态1、丰富的组件体系2、特色功能亮点 三、快速上手&#xff1a;三步开启组件化开发1、安装&#xff08;使用Vue 3&#xff09;2、全局引入3、按需导入&#xff08;推荐&am…...

一文搞懂Android应用元素查看器(Appium+Appium-inspector)——定位微信布局元素

Appium和Appium Inspector是怎么协作的呢?Appium 与 Appium Inspector 的版本匹配Appium安装启动appium服务安装Appium inspector客户端查看安卓真机指定app布局元素(这里以微信为例,需要保持与模拟器或真机一直连接)【QA】解决顶部工具栏上Refresh Source & Screensho…...

matlab质子磁力仪传感器线圈参数绘图

1、内容简介 matlab134-质子磁力仪传感器线圈参数绘图 可以交流、咨询、答疑 2、内容说明 略 线圈是质子磁力仪传感器的核心&#xff0c;其品质直接影响着仪器的测量精度 。 结合反向串联圆柱体线圈模型&#xff0c;对约束设计 的因素进行分析; 建立约束参数与设计参数之间…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

多模态图像修复系统:基于深度学习的图片修复实现

多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...

Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成

一个面向 Java 开发者的 Sring-Ai 示例工程项目&#xff0c;该项目是一个 Spring AI 快速入门的样例工程项目&#xff0c;旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计&#xff0c;每个模块都专注于特定的功能领域&#xff0c;便于学习和…...

【题解-洛谷】P10480 可达性统计

题目&#xff1a;P10480 可达性统计 题目描述 给定一张 N N N 个点 M M M 条边的有向无环图&#xff0c;分别统计从每个点出发能够到达的点的数量。 输入格式 第一行两个整数 N , M N,M N,M&#xff0c;接下来 M M M 行每行两个整数 x , y x,y x,y&#xff0c;表示从 …...

C# WPF 左右布局实现学习笔记(1)

开发流程视频&#xff1a; https://www.youtube.com/watch?vCkHyDYeImjY&ab_channelC%23DesignPro Git源码&#xff1a; GitHub - CSharpDesignPro/Page-Navigation-using-MVVM: WPF - Page Navigation using MVVM 1. 新建工程 新建WPF应用&#xff08;.NET Framework) 2.…...

Centos 7 服务器部署多网站

一、准备工作 安装 Apache bash sudo yum install httpd -y sudo systemctl start httpd sudo systemctl enable httpd创建网站目录 假设部署 2 个网站&#xff0c;目录结构如下&#xff1a; bash sudo mkdir -p /var/www/site1/html sudo mkdir -p /var/www/site2/html添加测试…...