如何修复python 3.8.5。“错误”;导入错误:无法导入名称';打开U代码';从';io';(未知地点)“;

如何修复python 3.8.5。“错误”;导入错误:无法导入名称';打开U代码';从';io';(未知地点)“;,python,python-3.8,platformio,Python,Python 3.8,Platformio,就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

就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)
致命Python错误:初始化sys\u流:无法初始化sys标准流
回溯(最近一次呼叫最后一次):
文件“C:\Program Files\Python38\lib\io.py”,第54行,在
ImportError:无法从“io”(未知位置)导入名称“open_code”
由于io.py是作为python安装的一部分安装的,因此我假设应该安装“open_code”符号。从python-3.8.5-amd64.exe运行修复选项并重新启动可以保证一切正常,但仍然失败

有人能简单地解释一下我需要做什么来解决这个问题吗

注意:有一个答案表明,这是由于安装了2个版本的python,而且有些东西指向错误的verison,但它没有解释如何以我理解的任何方式修复它(以及针对Linux安装)


谢谢。

解决方案是从我的用户文件夹中删除.platformio文件夹。很明显,PlatformIO“记住”了之前的python安装,让人困惑

请发表您的帖子并添加一个示例来演示问题。如果没有看到导致错误的代码,我们将无能为力。而且。。。你没有把你的python文件命名为
io.py
,是吗?这就是回溯应该是什么样子…@MattDMo好的,所以我正在尝试构建的是Marlin固件。我没有编辑任何python文件,只是为了确认io.py的第54行是一个导入。这在昨天起了作用,但后来我意识到我安装了一个32位版本的python,这导致了其他问题,所以我卸载了它并尝试安装64位版本。正如我所说,我是一个完全的python新手,所以不知道如何生成一个“最小可复制的示例”。我假设这是一个安装问题,有人会知道我卸载时哪个环境变量或注册表设置没有被清除。自从卸载32位版本并安装64位版本后,您是否重新启动了?这有时会产生奇迹。这对我也很有效。一旦当我对马林鱼做了一些改动并试图重建时,问题又出现了。这对你来说是渗透剂吗?我想我找到了一个糟糕的工作。Platformio找到了我的Python 3.8安装(在我的路径上)。看到你也发生了同样的事情,我怀疑这就是问题所在。重命名Python3.8文件夹(作为一个快速修复,它的内容不再在路径上)修复了这个问题。当然,这可能会导致找到Python版本所需的其他问题。@Castle我从那时起(一个多月)就没有问题了,所以从这个意义上说,这是一个“永久性”修复。我认为你是对的。我有这个错误,只需删除.platformio文件夹中的任何python文件夹即可解决。我只是猜测,如果platformio更新,它会再次出现。