【发布时间】:2022-07-08 00:39:10
【问题描述】:
我已将 Python (3.9) 安装到我的本地用户帐户程序文件夹中。当我执行它时,我收到以下错误。一些奇怪的事情:
- 在我的主要 Python 脚本中,我什至不能做一个简单的
print()第一件事,所以问题直接出在 Python 本身 -
sys.path有 2 个不存在的条目。我不确定它们是如何设置为这些值的,或者是什么设置它们,但它们是错误的,因为这些路径不存在并且第三个条目引用了一个 zip 文件,这可能与我遇到的问题有关 - 我手动检查了所有路径,一切正常,并且编码模块确实存在
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 文件?