【问题标题】:Python error: ModuleNotFound: encodings which does in fact existPython错误:ModuleNotFound:实际上存在的编码
【发布时间】:2022-07-08 00:39:10
【问题描述】:

我已将 Python (3.9) 安装到我的本地用户帐户程序文件夹中。当我执行它时,我收到以下错误。一些奇怪的事情:

  1. 在我的主要 Python 脚本中,我什至不能做一个简单的print() 第一件事,所以问题直接出在 Python 本身
  2. sys.path 有 2 个不存在的条目。我不确定它们是如何设置为这些值的,或者是什么设置它们,但它们是错误的,因为这些路径不存在并且第三个条目引用了一个 zip 文件,这可能与我遇到的问题有关
  3. 我手动检查了所有路径,一切正常,并且编码模块确实存在

Python 在我的PATH 环境变量中只存在一次,即: C:\Users\<username>\AppData\Local\Programs\Python\Launcher\ 并且 Launcher 文件夹不存在,我什至不知道它是如何设置的,因为我故意告诉 Python 不要将自己添加到 PATH 变量中,这样它就不会干扰其他 Python 安装(目前有没有)。

Python path configuration:
  PYTHONHOME = (not set)
  PYTHONPATH = (not set)
  program name = 'C:\Users\<username>\AppData\Local\Programs\Python\python.exe'
  isolated = 0
  environment = 1
  user site = 1
  import site = 1
  sys._base_executable = 'C:\\Users\\<username>\\AppData\\Local\\Programs\\Python\\python.exe'
  sys.base_prefix = ''
  sys.base_exec_prefix = ''
  sys.platlibdir = 'lib'
  sys.executable = 'C:\\Users\\<username>\\AppData\\Local\\Programs\\Python\\python.exe'
  sys.prefix = ''
  sys.exec_prefix = ''
  sys.path = [
    'C:\\Users\\<username>\\AppData\\Local\\Programs\\Python\\python39.zip',
    'C:\\Python39\\Lib\\',
    'C:\\Python39\\DLLs\\',
    'C:\\Users\\<username>\\AppData\\Local\\Programs\\Python',
  ]
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 0x000071d4 (most recent call first):
<no Python frame>

如果sys.path 不正确(显示为这样),我该如何手动设置或修复它?特别是考虑到我的脚本永远没有机会执行

【问题讨论】:

  • 所以,事实证明,安装缺少codecs 模块,即使错误消息显示encodings。一旦我弄清楚这一点,就会缺少 5 个模块,当我手动将它们添加到安装文件夹时,Python 按预期工作。我不喜欢的是(除了 Python 报告缺少错误的模块),如果出现这样的错误,我似乎无法控制 sys.path 包含的内容。我设置PYTHONPATH 强制添加一些额外的目录进行测试,但为什么该列表中有无效目录和一个 zip 文件?

标签: python windows


【解决方案1】:

我有一个类似的问题,我想使用安装在 /usr/bin 中的 Ubuntu python,但是当我输入 python 时,默认的 python 指向 Anaconda python 安装而不是 /usr/bin 中安装的 python。

我用这个解决了这个问题: Use the default Python rather than the Anaconda installation when called from the terminal

所以在文件中 ~/.bashrc 而不是 由 Anaconda3 4.3.0 安装程序添加 导出 PATH="/home/user/anaconda3/bin:$PATH" 一个人会用 export PATH="$PATH:/home/user/anaconda3/bin"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-19
    • 1970-01-01
    • 2023-01-10
    相关资源
    最近更新 更多