【Bug】解决 Ubuntu 中 “error: Unable to Find Python3 Executable” 错误

解决 Ubuntu 中 “Unable to Find Python3 Executable” 错误

  • 在 Ubuntu 系统上使用 Python 进行开发时,遇到找不到 python3 可执行文件的错误。

主要问题是无法正常打开终端(原生与terminator),找不到python3,且无法执行

sudo apt update
sudo apt upgrade

等命令,具体的错误信息如下:

error: unable to find python3 executable
/usr/bin/env: “python3”: 没有那个文件或目录

在这里插入图片描述
直接尝试重装python会出现报错:

在这里插入图片描述

1 问题原因

  • 出现这个问题的原因是系统中缺少 python3 的符号链接。虽然系统已经安装了 Python 3.8,但
    /usr/bin/python3 符号链接不存在,导致系统在运行一些 Python 程序时无法找到 python3 可执行文件。

在系统中,运行以下命令可以看到 python3 不存在:

ls /usr/bin/python*

输出如下:

/usr/bin/python2
/usr/bin/python2.7
/usr/bin/python3.8
/usr/bin/python3.8-config
/usr/bin/python3.8-coverage
……

在这里插入图片描述

如上所示,系统中是安装了 python3.8的,但没有 python3 这个符号链接。

2 解决方案

要解决这个问题,我们只需手动创建一个指向 python3.8 的符号链接。以下是具体的步骤:

第一步:检查系统中的 Python 版本

首先,确认系统中已经安装了 python3.8 或其他版本的 Python。你可以使用以下命令来查看:

ls /usr/bin/python*

输出中应该包含 python3.8 或其他版本的 Python 3.x。

第二步:创建 python3 符号链接

使用以下命令创建一个符号链接,指向 python3.8

sudo ln -s /usr/bin/python3.8 /usr/bin/python3

第三步:验证 Python3 是否正常工作

符号链接创建完成后,运行以下命令检查是否可以正常调用 python3

python3 --version

如果一切顺利,终端应该输出类似以下内容:

Python 3.8.x

常见问题

  1. 如果你的系统中没有安装 Python 3.8
    你可以使用以下命令安装:

    sudo apt update
    sudo apt install python3.8
    
  2. APT 更新错误
    在执行 apt update 时,如果出现类似以下错误:

    E: Problem executing scripts APT::Update::Post-Invoke-Success
    

    这是由于某些脚本依赖缺失,尝试运行以下命令来修复:

    sudo apt --fix-broken install
    

3总结

通过手动创建 python3 的符号链接,可以解决 Ubuntu 系统中找不到 Python3 可执行文件的问题。

这个问题主要是因为符号链接缺失,但并不意味着系统中缺少 Python 3。

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

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

相关文章

教育技术革新:SpringBoot在线教育系统开发指南

6系统测试 6.1概念和意义 测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为: 目的:发现程序的错误; 任务:通过在计算机上执行程序,暴露程序中潜在的错误。 另一个…

20240930编译orangepi5的Android12使用HDMI0输出

20240930编译orangepi5的Android12使用HDMI0输出 2024/9/30 9:44 缘起,3月份的时候,看PDD拼多多的优惠券给力! 就入手了香橙派Orange Pi 5。 自从制作TF卡的启动卡的时候,坏了一张SanDisk的32GB的TF卡。 从此就对TF卡启动无比抵触…

Unity_Obfuscator Pro代码混淆工具_学习日志

Unity_Obfuscator Pro代码混淆工具_学习日志 切勿将密码或 API 密钥存储在您附带的应用程序内。 混淆后的热更新暂时没有想到怎么办 Obfuscator 文档 https://docs.guardingpearsoftware.com/manual/Obfuscator/Description.html商店链接Obfuscator Pro(大约$70&a…

Docker面试-24年

1、Docker 是什么? Docker一个开源的应用容器引擎,是实现容器技术的一种工具,让开发者可以打包他们的应用以及环境到一个镜像中,可以快速的发布到任何流行的操作系统上。 2、Docker的三大核心是什么? 镜像:Docker的…

fiddler抓包17_简单接口测试(Composer请求编辑)

课程大纲 ① 进入“Composer”(请求编辑)界面: Fiddler右侧标签菜单选择“Composer”,中文“请求编辑” 。 ② 编辑、发送请求: 填写接口请求信息(或从左侧列表直接拖拽填充),点击“…

如果您忘记了 Apple ID 和密码,按照指南可重新进入您的设备

即使您的 iPhone 或 iPad 由于各种原因被锁定或禁用,也可以使用 iTunes、“查找我的”、Apple 支持和 iCloud 解锁您的设备。但是,此过程需要您的 Apple ID 和密码来验证所有权并移除激活锁。如果您忘记了 Apple ID 和密码,请按照我们的指南重…

问题系列---Android Studio调试services源码不显示参数值

戳蓝字“牛晓伟”关注我哦! 用心坚持输出易读、有趣、有深度、高质量、体系化的技术文章,技术文章也可以有温度。 前言 问题系列主要的作用是把我在研究Android源码过程中遇到的各种问题集合起来,当然这些问题在Stack Overflow、google是没…

初识Linux · 自主Shell编写

目录 前言: 1 命令行解释器部分 2 获取用户命令行参数 3 命令行参数进行分割 4 执行命令 5 判断命令是否为内建命令 前言: 本文介绍是自主Shell编写,对于shell,即外壳解释程序,我们目前接触到的命令行解释器&am…

【CKA】一、基于角色的访问控制-RBAC

1、基于角色的访问控制-RBAC 1. 考题内容: 2. 答题思路: 这道题就三条命令,建议直接背熟就行。 也可以查看帮助 kubectl create clusterrole -h kubectl create serviceaccount -h kubectl create rolebinding -h 注意: 1、资…

VirtualBox虚拟机连接宿主机并能够上网(小白向)

现存问题 windows系统主要使用vmare和virtualbox两种虚拟机,virtualbox相对于vmare更加轻便,但少有博客能够详细说明使用virtualbox的教程。踩了网上的坑后,决定写一篇文章介绍virtualbox虚拟机上网的流程。 需求 1. virtualbox虚拟机与宿主机…

Android SystemUI组件(10)禁用/重启锁屏流程分析

该系列文章总纲链接:专题分纲目录 Android SystemUI组件 本章关键点总结 & 说明: 说明:本章节持续迭代之前章节的思维导图,主要关注左侧上方锁屏分析部分 应用入口处理流程解读 即可。 在 Android 系统中,禁用锁屏…

AI学习记录 - L2正则化详细解释(权重衰减)

大白话: 通过让反向传播的损失值变得比原来更大,并且加入的损失值关联到神经网络全部权重的大小,当出现权重的平方变大的时候,也就是网络权重往更加负或者更加正的方向走的时候,损失就越大,从而控制极大正…

【PostgreSQL】PG数据库表“膨胀”粗浅学习

文章目录 1 为什么需要关注表膨胀?2 如何确定是否发生了表膨胀?2.1 通过查询表的死亡元组占比情况来判断膨胀率2.1.1 指定数据库和表名2.1.2 查询数据库里面所有表的膨胀情况 3 膨胀的原理3.1 什么是膨胀?膨胀率?3.2 哪些数据库元…

Unity Asset Store的默认下载位置及更改下载路径的方法

修改Unity Asset Store的默认下载路径 Unity Asset Store默认下载位置 Unity Asset Store里下载资源,默认是下载到C盘里的,如果你不想做C盘战士的话,记得将下载的资源转移到其他盘。 Unity商城默认下载路径是C:\用户\用户名(一般…

晶体管最佳效率区域随频率逆时针旋转原因分析

晶体管最佳效率区域随频率逆时针旋转原因分析 在功率放大器的设计时,晶体管最佳区域随频率逆时针旋转。但是,对于一般的微带电路,匹配阻抗区域是随着频率顺时针旋转的(也有称这个特性是Foster特性),因此功…

UE5学习笔记23-给角色添加血量,添加收到伤害的功能

零、一些游戏框架知识 1.UE5中包含游戏模式类(Game Mode)、游戏状态类(Game State)、玩家状态类(Player State)、玩家控制器类(Player Controller)、所有的可以被控制的实体或角色类(Pawn)、窗口类(HUD/Widget) Game Mode:存在在服务器上,当我们在客户端…

Redis实现每日签到(大数据量)

PHP语言使用Redis NoSQL服务器二进制数据类型实现大数据情况下签到功能 目录 问题 解决方式 封装签到类 功能调用 总结 问题 实现用户每日签到功能不难,但随着用户量上升之后,不论是存储还是判断对数据量来说都很麻烦;假如每天有100万用…

【STM32开发环境搭建】-4-在STM32CubeMX中新增Keil(MDK-ARM) 5的工程目录(包含指定路径的C和H文件)

案例背景: 由于Keil(MDK-ARM)5工程:DEMO_STM32F030C8T6.uvprojx是由STM32CubeMX工具生成的,如果我们在Keil工程中手动添加了一些c文件和h文件的Include Path包含路径,会在STM32CubeMX下一次生成uvprojx文件时,被删除&…

C语言复习概要(四)

本文 1. 操作符的分类算术操作符关系操作符逻辑操作符 2. 二进制制和进制转换二进制与十六进制的表示进制转换算法 3. 原码、反码和补码原码反码补码 1. 操作符的分类 C语言中的操作符种类繁多,常用的主要操作符可以按照其功能进行如下分类: 算术操作符…

Emergency Stop (ES)

文章目录 1. 介绍2. Feature List3. 紧急停止信号触发方式3.1 Port触发紧急停止信号3.2 SMU事件触发紧急停止信号3.3 软件触发紧急停止信号 4. 应用场景4.1 Port4.2 MSC 1. 介绍 Emergency Stop (ES)是Ifx System Control Units (SCU)六大模块之一。详细信息可以参考Infineon-…