Fatal Python error: Py_Initialize: can't initialize sys standard streams

Fatal Python error: Py_Initialize: can't initialize sys standard streams

我有一个使用诗歌创建的 pyproject.toml 文件,我正在尝试 运行 此目录中的命令 poetry install 创建一个 poetry.lock 文件.但是,当我 运行 poetry 安装时,出现以下错误:

  EnvCommandError

  Command C:\Users\myName\AppData\Local\pypoetry\Cache\virtualenvs\my-app-name-kS94etse-py3.8\Scripts\python.exe - 
  errored with the following return code 3, and output:
      Fatal Python error: Py_Initialize: can't initialize sys standard streams
      Traceback (most recent call last):
        File "c:\users\myName\anaconda3\lib\io.py", line 52, in <module>
        File "c:\users\myName\anaconda3\lib\abc.py", line 106
          print(f"Class: {cls.__module__}.{cls.__qualname__}", file=file)
                                                            ^
      SyntaxError: invalid syntax
      input was : import sys

这个错误看起来很深,但我不明白为什么 poetry 认为 import sys 是无效语法。我去了它抛出错误的目录,C:\Users\myName\AppData\Local\pypoetry\Cache\virtualenvs\my-app-name-kS94etse-py3.8\Scripts\python.exe 甚至只是尝试 运行 和 python.exe 那里我得到了类似的东西:

Fatal Python error: Py_Initialize: can't initialize sys standard streams
Traceback (most recent call last):
  File "c:\users\myName\anaconda3\lib\io.py", line 52, in <module>
  File "c:\users\myName\anaconda3\lib\abc.py", line 106
    print(f"Class: {cls.__module__}.{cls.__qualname__}", file=file)
                                                      ^
SyntaxError: invalid syntax

关于如何解决这个问题有什么建议吗?

最终解决了我自己的问题。出于某种原因,我的诗歌创建的虚拟环境是 copying/downloading Python 的损坏版本,正如我在最初的问题中所说,似乎 python.exe 本身就是引发致命错误的原因.

有了这个,我通过以下方式解决了我的问题:

  1. 正在下载 Python 的新版本(与我在 pyproject.toml 文件中定义的版本相同):https://www.python.org/downloads/release/python-385/
  2. 导航到虚拟环境文件夹 poetry 告诉我错误来自:C:\Users\myName\AppData\Local\pypoetry\Cache\virtualenvs\my-app-name-kS94etse-py3.8\Scripts\python.exe
  3. 用我刚刚下载的新文件替换了该文件夹中当前的 python.exe

我很确定 -运行 我需要找出发生这种情况的原因,但这对于其他 运行 解决此问题的人来说是一个快速解决方案。祝您诗歌愉快!