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

时间:2019-09-03 05:53:45

标签: python python-3.x python-3.6

我正在Windows服务器(64位)中使用python,它是由另一个用户安装在<div id="container"></div>自己目录中的

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

C:\user\userx\AppData\Local\Programs\Python\Python36

我尝试使用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. 在命令行中运行代码,并且显示以下错误。

6 个答案:

答案 0 :(得分:1)

将正确的文件组与.py脚本相关联:

assoc .py=Python.File

将所有Python文件重定向到新的可执行文件:

ftype Python.File="C:\Path\to\pythonw.exe %1 %*"

答案 1 :(得分:1)

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

直接将ftype(如在其他响应中一样)重置为特定的python安装应该会掩盖该错误,但会绕过Python启动器。替代方法是解决实际问题。也许比简单地使它消失更复杂,但是将其屏蔽意味着一个关键功能python启动器随后被禁用。

如果遇到此错误,请输入以下内容检查ftype

 ftype Python.File

不设置新值。

常规值应为Python.File="C:\windows\py.exe" "%L" %*

Py.exePython launcher。启动器会检查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版本。

答案 2 :(得分:0)

我找到了解决方法:

如下所示在cmd中设置全局变量解决了该问题

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

答案 3 :(得分:0)

通过在系统变量中编辑PATH对我有用:

添加python路径:“ .................. \ Python36”

并在运行代码时在cmd上写,在代码的文件路径前加上“ python”字样:

python code_file_name.py

答案 4 :(得分:0)

阅读#innov8 后,在注册表中的一些额外查找表明,除了完整的 HKCU\Software\Python 键之外,还有一个“空”的 HKLM\Software\Python 键,它没有子键或值。

删除有问题的 HKLM 密钥解决了我的启动器问题。

答案 5 :(得分:0)

设置文件默认用Python打开,如果不行就设置其他python版本。

另一种解决方案是在您的 cmd 中写入 python yourfilename.py