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

解决 Ubuntu 中 "Unable to Find Python3 Executable" 错误

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

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

bash 复制代码
sudo apt update
sudo apt upgrade

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

bash 复制代码
error: unable to find python3 executable
/usr/bin/env: "python3": 没有那个文件或目录

直接尝试重装python会出现报错:

1 问题原因

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

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

bash 复制代码
ls /usr/bin/python*

输出如下:

bash 复制代码
/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。你可以使用以下命令来查看:

bash 复制代码
ls /usr/bin/python*

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

第二步:创建 python3 符号链接

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

bash 复制代码
sudo ln -s /usr/bin/python3.8 /usr/bin/python3

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

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

bash 复制代码
python3 --version

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

bash 复制代码
Python 3.8.x

常见问题

  1. 如果你的系统中没有安装 Python 3.8

    你可以使用以下命令安装:

    bash 复制代码
    sudo apt update
    sudo apt install python3.8
  2. APT 更新错误

    在执行 apt update 时,如果出现类似以下错误:

    bash 复制代码
    E: Problem executing scripts APT::Update::Post-Invoke-Success

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

    bash 复制代码
    sudo apt --fix-broken install

3总结

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

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

相关推荐
MANONGMN10 分钟前
Linux 通配符与正则表达式(含实战案例+避坑指南)
linux·运维·正则表达式
带土114 分钟前
18 .shell编程-正则表达式
linux·正则表达式
爱吃甜品的糯米团子44 分钟前
Linux 学习笔记之进程管理、网络基础与常用软件安装
linux·网络·学习
Micro麦可乐1 小时前
Centos Stream 9 中Docker安装出现 download.docker.com:443 的问题解决
linux·docker·centos·podman
poemyang1 小时前
你的程序为何卡顿?从LINUX I/O三大模式寻找答案
linux·rpc
---学无止境---2 小时前
Linux中早期控制台初始化和注册的实现
linux
撬动未来的支点2 小时前
DMABUF 核心概念:Linux 的“共享白板”机制
linux
今麦郎xdu_3 小时前
【Linux系统】命令行参数和环境变量
linux·服务器·c语言·c++
还不秃顶的计科生3 小时前
linux下conda未安装的解决方法(离线安装linux下的conda)
linux·运维·服务器
DeeplyMind3 小时前
Linux的Dynamic debug功能
linux·dynamic debug