Python启动器Py报错:CantfindadefaultPython
python怎么读取py文件
背景
刚才修改了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.
重新执⾏:py
成功进⼊Python 3.9.1执⾏环境
执⾏:py --list
Installed Pythons found by py Launcher for Windows -3.9-64 *
成功列出了安装的Python
由此确定py.exe在win上是通过读取注册表的...\\InstallPath来寻Python解释器的
注意:在修改Python安装⽬录后,同时要修改...\Python项下所有与⽬录关联的字段值,以确保其他功能可以正常使⽤。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。