使用 Miniedit-WiFi 设置帮助修复 Linux 上损坏的 Python 基础

使用 Miniedit-WiFi 设置帮助修复 Linux 上损坏的 Python 基础

我之前卸载了 Python3.12(我曾在其上运行 Miniedit-WiFi 工具),保留了默认的 Python3.11;但是,无论我是从虚拟环境还是从基本 Python 解释器运行,只要我在 Python3.11 上运行 Python 脚本,就会不断弹出以下控制台日志错误。(但是,默认的 Python3.11 也仍然有问题,因为尽管还有其他项目,但我无法使用 pip 安装任何软件包。(这是在 上Kubuntu-Mantic

我运行了另一个在虚拟环境中运行良好的 TensorFlow ML 脚本,并意识到问题出在 Python sudoer 系统中;当我尝试使用 sudo 权限运行 Python 脚本(例如:)时,总是会出现上面分享的控制台输出;sudo python3 /path/to/any/python/script因此,我打开了所有安装文件, /etc/sudoers.d/但看不到 Python3.12 路径设置的任何痕迹,而 Python 路径是干净的,只有默认的基础 Python3.11 和 Python3.7。在我安装了 Python3.12 后,在 Pycharm 中使用应用程序为我的 Miniedit 项目sudome自动化sudo权限后,可能会出现此问题,但在我卸载 Python3.12 并将其从 Python 路径中清除后,我无法再使用sudo权限运行 Python 脚本,因为控制台输出表明它的 Python 路径指向我已经卸载的 Python3.12。有人可以帮我追踪这个输出的来源吗

Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Python path configuration:
  PYTHONHOME = (not set)
  PYTHONPATH = (not set)
  program name = 'python3'
  isolated = 0
  environment = 1
  user site = 1
  safe_path = 0
  import site = 1
  is in build tree = 0
  stdlib dir = '/usr/local/lib/python3.12'
  sys._base_executable = '/usr/local/bin/python3'
  sys.base_prefix = '/usr/local'
  sys.base_exec_prefix = '/usr/local'
  sys.platlibdir = 'lib'
  sys.executable = '/usr/local/bin/python3'
  sys.prefix = '/usr/local'
  sys.exec_prefix = '/usr/local'
  sys.path = [
    '/usr/local/lib/python312.zip',
    '/usr/local/lib/python3.12',
    '/usr/local/lib/python3.12/lib-dynload',
  ]
Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
ModuleNotFoundError: No module named 'encodings'

Current thread 0x00007f5dbb036740 (most recent call first):
  <no Python frame>

答案1

我意识到基本的 Python3.11 配置文件和基本脚本已经在里面了,/usr/local/bin/所以我在终端中使用了:

sudo nano /usr/local/bin/python3-config

编辑每个实例3.123.11保存配置文件,最后

sudo apt-get update

sudo apt upgrade

重新启动电脑并且成功了!

相关内容