今天,当我试图在Sublime Text 3上运行简单的代码时,出现了以下消息:

未找到Python,但可以从Microsoft Store: https://go.microsoft.com/fwlink?linkID=2082640安装

当我在CMD中输入Python时,它会打开Windows商店,让我下载Python 3.7。这个问题今天就开始了,没有什么好理由。我没有更改或下载任何关于Python的内容,并且已经尝试重新安装Python,并且Path环境变量是正确的。


当前回答

如果Python解释器已经安装,那么从设置中进入“应用程序和功能”,选择“Python”,然后选择“修改”。

再次选择modify,然后选择Next:

然后会出现这个窗口:

选择“将Python添加到环境变量”并单击安装按钮。然后再次转到应用程序和功能,单击修改,然后单击修复。 现在进入CMD并输入Python。 问题解决了。

其他回答

您可以手动将Python添加到Windows路径,如下所示:

Start the Run box and enter sysdm.cpl Go to the Advanced tab and click the Environment Variables button Now you’ll need to locate the relevant Python paths Here is how a Python application path looks like: And this is how a Python Scripts path looks like: Select the Path variable, press edit and add both paths (Python application and Python Scripts) If it doesn't show, press new instead of edit and fill the New User Variable box This is how my Variable value looks like: C:\Users\Ron\AppData\Local\Programs\Python\Python37-32;C:\Users\Ron\AppData\Local\Programs\Python\Python37-32\Scripts

就是这样!您只是将Python添加到Windows路径。

来源:Data To Fish

我把一个powershell片段放在一起,它重新排序了WindowsApps和Python文件夹,所以Python是第一个。以管理员身份运行:

$appsFld="$env:USERPROFILE\AppData\Local\Microsoft\WindowsApps"; 
$pyPath=(Resolve-Path "$env:USERPROFILE\AppData\Local\Programs\Python\Python*\")
$Env:Path = (($Env:Path.Split(';') | Where-Object { $_ -ne "$appsFld" }) -join ';'); 
$Env:Path = (($Env:Path.Split(';') | Where-Object { $_ -ne "$pyPath" }) -join ';'); 
$Env:Path += ";$pyPath";
$Env:Path +=";$appsFld";
[Environment]::SetEnvironmentVariable("PATH", "$Env:Path", "Machine")

然后我可以很好地运行python:

> python
Python 3.10.7 (tags/v3.10.7:6cc6b13, Sep  5 2022, 14:08:36) [MSC v.1933 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> quit

对于任何使用pyenv-win的人来说,这是一个额外的注意事项:在关闭应用程序执行别名之后,运行pyenv rehash。您可能还需要关闭/重新打开CMD或PowerShell窗口。

使用Windows搜索栏找到“管理应用程序执行别名”。Python应该有两个别名。取消选择它们,这将允许使用常见的Python别名“Python”和“python3”。请看下图。

我认为我们在安装Python时遇到了这个问题,因为在新的Windows安装中,别名处于ON位置,如下图所示。打开后,Windows会在%USERPROFILE%\AppData\Local\Microsoft\WindowsApps目录下放置一个名为python.exe和python3.exe的空文件或假文件。这是别名。

然后,Microsoft将该目录放在“Path”环境变量列表的顶部。

当你在cmd中输入“python”时,它会从上到下搜索“Path”环境变量页面中列出的目录。因此,如果你在新的Windows 10安装后安装了Python,然后被重定向到Windows商店,这是因为有两个Python. exe:应用程序执行别名页面中的别名,以及你安装Python的地方的真实别名。但是cmd首先会找到应用程序的执行,别名python.exe,因为该目录位于路径的顶部。

我认为最简单的解决方案是将python.exe和python3.exe检查为OFF,就像我之前建议的那样,这会删除假的EXE文件文件。根据微软的开发博客,他们表示他们创建这个系统的部分目的是为了新的Python用户,特别是在学校学习Python的孩子,他们在安装它时遇到了麻烦。

创建这个别名是为了帮助刚开始学习Python的孩子安装它,并专注于学习编码。我认为如果你从Windows应用商店安装Python, Windows可能会删除这些别名。我们注意到,如果从其他来源手动安装,它们不会被删除。

(另外,空的/fake python.exe并不是真的空的。它在截图中显示为0 KB,但在cmd中输入“start ms-windows-store:”会打开Windows应用商店,所以它可能只有一行,并有一种将其引导到Python页面的方法。)

最后,正如Chipjust所建议的,你可以使用本文中解释的DOSKEY之类的东西为Python创建一个新别名,例如: 如何设置Windows下命令提示符的别名

作为一个在Sublime Text中进行Python开发的人,我知道你说过Python解释器的路径是正确的,但是当你安装Python解释器时,一定要勾选将Python添加到path的选项。

我以前也有同样的问题直到我做了这个。