如何修复“找不到默认 Python”错误

新手上路,请多包涵

我在 Windows 服务器(64 位)中使用 python,它由另一个用户安装在他自己的目录中 C:\user\userx\AppData\Local\Programs\Python\Python36

所有其他用户(不包括我)都能够在此服务器上运行 Python 文件。运行 Python 程序时出现以下错误:

 C:\Users\user x\AppData\Local\Programs\Python\Python36>test.py
launcher build: 32bit
launcher executable: Console
File 'C:\Users\my user\AppData\Local\py.ini' non-existent
File 'C:\Windows\py.ini' non-existent
Called with command line: "C:\Users\user x\AppData\Local\Programs\Python\Python
36\test.py"
maybe_handle_shebang: read 12 bytes
maybe_handle_shebang: BOM not found, using UTF-8
locating Pythons in 64bit registry
locate_pythons_for_key: unable to open PythonCore key in HKCU
locate_pythons_for_key: unable to open PythonCore key in HKLM
locating Pythons in native registry
locate_pythons_for_key: unable to open PythonCore key in HKCU
locate_pythons_for_key: unable to open PythonCore key in HKLM
found no configured value for 'python'
search for default Python found no interpreter
Can't find a default Python.

我尝试在命令行中使用 set pylaunch_debug=1 运行我的代码,它显示以下错误。

原文由 mahsa-ebrahimian 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.8k
2 个回答

我找到了解决方案:

如下在cmd中设置全局变量解决了这个问题

C:> ftype Python=“C:\Users\user x\AppData\Local\Programs\Python\Python36\python.exe %1 %*”

原文由 mahsa-ebrahimian 发布,翻译遵循 CC BY-SA 4.0 许可协议

“找不到默认的 Python”不是来自 Windows 本身,而是来自 Python 启动器。

ftype 直接重置为特定的 python 安装应该掩盖错误,但绕过了 Python 启动器。另一种方法是解决实际问题。也许比简单地让它消失更复杂,但屏蔽它意味着一个关键功能,python 启动器,然后被禁用。

如果出现此错误,请通过输入检查 ftype

  ftype Python.File

无需设置新值。

正常值应该是 Python.File="C:\windows\py.exe" "%L" %*

Py.exePython 启动器。这个启动器检查 python 文件和文件顶部的“ shebang ”行,指定将使用哪个版本的 python。

Py.exe 是报告“找不到默认 python”的程序。重置 ftype 直接加载 python 将绕过错误,但会禁用 py.exe 的中间步骤,该步骤应为文件选择正确的 python 版本。如果您可以很好地禁用 py.exe,那没关系,但是如果您希望修复 py.exe,请尝试设置环境变量 PYLAUNCH_DEBUG 像这样(正如原始海报所做的那样):

 set PYLAUNCH_DEBUG=1

然后再试一次(或只输入 py 作为命令)以获取有关失败原因的更多信息。

对我来说,注册表项

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\3.7\InstallPath

丢失并添加该密钥解决了问题。您可以编辑注册表项并为具有所需路径的相关 python 版本设置上面的注册表项,或者添加一个 py.ini 文件。 py.ini 的说明在这里有点长,但如果有人需要,我会添加一个链接。

绕过 python 启动器有两个问题。首先,如果添加了新版本,问题可能会再次出现,其次,程序指定正确 python 版本的能力被禁用。

原文由 innov8 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏