【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。

相关推荐
北京迅为18 分钟前
【迅为开发板专属工具】把烧写入口放进浏览器|Topeet RK Flash
linux·人工智能·嵌入式·rk3568·烧写
xiebingsuccess26 分钟前
Ubuntu 22.04 在 VMware 上的安装与远程桌面配置 — 任务报告
linux·运维·ubuntu·ai+嵌入式开发
程序员AlbertTu27 分钟前
Linux 系统 Bug 调试操作手册
linux·postgresql·bug
juesdo36 分钟前
vulnos OS-00118靶场通关
linux·web安全·网络安全·docker
霸刀44 分钟前
nslookup 与 dig 使用指南:DNS 查询、区别对比及真实案例解读
linux·cdn·dns
郝亚军1 小时前
asqlite-autoconf-3310100 的ubuntu 22.04 aarch64交叉编译
linux·运维·ubuntu
笑锝没心没肺1 小时前
Linux安装docker及运行容器测试
linux·运维·docker
Mr_liu_6661 小时前
Claude非专业入门实战笔记(附录):关闭Telemetry-遥测,消除无用网络请求与日志噪音
linux·笔记·ubuntu·ai编程
时空无限1 小时前
ubuntu apt 查看软件之间的依赖
linux·运维·ubuntu
Escalating_xu1 小时前
【Linux】线程概念与控制:从地址空间、LWP 到 pthread_create、join、detach 与 NPTL
java·linux·redis