【发布时间】:2020-09-14 22:44:02
【问题描述】:
就 python 而言,我是一个完全的新手,但需要为 PlatformIO 安装它。我在 Windows 10 上安装了 python-3.8.5-amd64.exe 并在 VSCode 中安装了 PlatformIO。但是当我尝试构建时,我得到:
Fatal Python error: init_sys_streams: can't initialize sys standard streams
Traceback (most recent call last):
File "C:\Program Files\Python38\lib\io.py", line 54, in <module>
ImportError: cannot import name 'open_code' from 'io' (unknown location)
由于 io.py 是作为 python 安装的一部分安装的,我假设应该安装“open_code”符号。从 python-3.8.5-amd64.exe 运行修复选项并重新启动声称一切正常,但仍然失败。
有人可以简单地解释一下我需要做什么来解决这个问题吗?
注意:有一个答案here 表明这是由于安装了 2 个版本的 python 并且某些东西指向了错误的版本,但它没有解释如何以我理解的任何方式修复它(以及用于 Linux 安装)。
谢谢。
【问题讨论】:
-
请edit 您的帖子并添加minimal reproducible example 来演示问题。如果没有看到导致错误的代码,我们就忍不住了。
-
另外...你没有碰巧将你的 python 文件命名为
io.py,是吗? -
这就是回溯的样子......
-
@MattDMo 好的,这是我正在尝试构建的 Marlin 固件。除了确认 io.py 的第 54 行是导入之外,我没有编辑任何 python 文件。这昨天有效,但后来我意识到我安装了一个 32 位版本的 python 导致其他问题,所以我卸载它并尝试安装 64 位版本。正如我所说,我是一个完整的 python 新手,所以不知道如何生成“最小的可重现示例”。我假设这是一个安装问题,有人会知道我卸载时没有清理哪个环境变量或注册表设置。
-
卸载 32 位版本并安装 64 位版本后是否重新启动?这有时会产生奇迹。
标签: python python-3.8 platformio