ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python启动器Py报错:Can't find a default Python

2021-07-31 16:04:12  阅读:222  来源: 互联网

标签:解释器 exe 启动器 Python py python 报错 注册表


背景

刚才修改了Python目录名,重新添加了环境变量,命令行可以正常执行python。
打开Vim开始编辑文件,发现一输入或刚输入几个字符就闪退了。

解决

重新打开禁用了插件加载,运行正常,逐个开启检查发现Ultisnip开启时,导致这种情况,:PlugStatus (Vim-Plug管理器命令)检查插件状态,文件完好,突然想到Ultisnip依赖Python执行环境,可能是改到路径导致的错误。

在控制台执行:
py 显示:Can't find a default Python
py --list 来列出安装的python,显示无法找到已安装的python
Installed Pythons found by py Launcher for Windows
No Installed Pythons Found!

执行:py --help,发现py并没有给出直接指明解释器的方法

经过查询,发现py.exe是用于做启动真实python解释器的中间转换器,会从外部读取一些信息来确定调用哪个版本的python解释器,例如:可以传入版本号作为启动参数;读取文件开始的前几行shebang注释:#!/usr/bin/python3

猜测py.exe在win上读取了注册表。

查询到有人修改了python的注册表项:
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\3.9\InstallPath
该项下有一个字段:ExecutablePath,修改为解释器路径:D:\software\Python\Python3.9\python.exe

重新执行:py
成功进入Python 3.9.1执行环境

执行:py --list
Installed Pythons found by py Launcher for Windows -3.9-64 *
成功列出了安装的Python

由此确定py.exe在win上是通过读取注册表的...\Python...\InstallPath来寻找Python解释器的

注意:在修改Python安装目录后,同时要修改...\Python项下所有与目录关联的字段值,以确保其他功能可以正常使用。

参考:
https://stackoverflow.com/questions/57765741/how-to-fix-cant-find-a-default-python-error/59595474#59595474
https://docs.python.org/3/using/windows.html#launcher

标签:解释器,exe,启动器,Python,py,python,报错,注册表
来源: https://www.cnblogs.com/zokf7cc/p/15084395.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有