选择了 VS 代码无效的 Python 解释器

问题描述 投票:0回答:1

问题:

我花了几个小时试图找出当 VS Code 无法自动找到 python 解释器时我无法选择 python.exe 的原因。

Invalid Python Interpreter msg

我已经通过控制面板完全卸载了 Python 和 VS Code,还删除了 %appdata 中的 '.vscode' 文件夹,从 'Appdata\Roaming' 中删除了 'Code' 文件夹。几乎从 Windows 中删除了 Python 和 Visual Studio Code 的所有痕迹。在“C:”和其他驱动器中重新安装了 Python 和 VS 代码,但 VS 代码仍然不接受 Python。

之前,有人问我是否在 VS Code 的设置 JSON 中更改了解释器的路径,是的,我也这样做了。在Windows系统环境中添加Path to Python怎么样?是的,我也在那里手动添加了它。仍然是同样的问题。

Manually selecting python interpreter on vscode

我已经在网上寻找了无数个小时的解决方案,但实际上没有解决方案。因此,如果其他人遇到此问题,我为什么要发布这篇文章以防万一。这个解决方案可能会帮助你。

python visual-studio-code interpreter pythoninterpreter
1个回答
0
投票

解决方案:

在网上测试了其他人的多个解决方案并失败后,我查看了每当我手动选择 Python 路径时 VS Code 失败原因的输出。我注意到当我在 VS 代码中执行 python 文件时,python 扩展的路径不太正确。下图

Error output when executing python file

基本上,每当我运行 python 文件或选择 python 解释器时。 VS Code 以某种方式排除/跳过了我在“C:\users\username*”下的用户名中的特殊字符 当我几年前第一次安装 Windows 时,我愚蠢地在我的用户名“^.ExTrEmE.^”中添加了特殊字符我知道这很糟糕哈哈

username with special characters

所以要从根本上解决这个问题,您必须重命名您的用户名而不添加任何特殊字符。

在 Windows 10 中重命名用户名的步骤:

1 - 首先确保您有一个“C:”驱动器的还原点,您可以通过在“系统属性 > 系统保护选项卡”中创建一个还原点来执行此操作,您可以通过在开始中键入 sysdm.cpl 来访问系统属性工具菜单。

2 - 以管理员身份打开 CMD 并输入此命令 wmic useraccount get name, SID 这将输出计算机上每个用户的 SID。确保为您要更改的用户名的 SID 拍照。在我的例子中,这是 '^.ExTrEmE.^'

3 - 在控制面板中,转到“用户帐户”,单击“管理另一个帐户”,单击“在电脑设置中添加新用户”和“将其他人添加到这台电脑”,单击“我没有此人的”登录信息”和“添加没有 Microsoft 帐户的用户”并创建一个没有密码的临时用户并赋予其管理权限。

4 - 现在退出您的当前帐户并登录到临时帐户。

5 - 从这里以管理员身份打开 CMD,使用命令导航到“C:\users”:cd C:\users 并输入命令 ren“currentusername”newusername 将“currentusername”替换为你的用户名,然后将“newusername”替换为正常的东西。示例:ren "^.ExTrEmE.^" notsoextreme

6 - 检查 C:\users\ 您的用户名已更改

7 - 在您的开始菜单中搜索“注册表编辑器”并以管理员身份运行

8 - 导航到 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

9 - 现在单击您在步骤 2 中拍摄的照片的 SID 值,即与您的用户名相关联的 SID。用户名示例:'^.ExTrEmE.^

10 - 现在双击右侧的 ProfileImagePath 并更改其值数据以指向您创建的新用户名/目录。示例:C:\用户 太极端了

11 - 重新启动计算机并重新登录您的用户名,这应该可以解决您的问题

注意:您可能仍会看到旧用户名是 C:\users\oldusername*,但不要担心这个文件夹现在未被使用,很可能是空的或有一些临时无用的文件。

您还可以通过返回控制面板>用户帐户>管理另一个帐户>用户名>删除帐户>删除文件来删除临时用户。

希望这对外面的人有帮助!

顺便说一句 - 在您的用户名中使用特殊字符也会导致很多其他问题,例如某些允许您保存会话/进度的游戏有时会找不到保存文件。

© www.soinside.com 2019 - 2024. All rights reserved.