【问题标题】:Can't run python on powershell无法在powershell上运行python
【发布时间】:2016-07-23 06:28:20
【问题描述】:

当我在 PowerShell 中键入 python 时,我收到如下错误:

Program 'python' failed to execute: The system cannot find the file specified
At line:1 char:11
+ python.exe <<<< .
At line:1 char:1
+  <<<< python.exe
    + CategoryInfo          : ResourceUnavailable: (:) [], ApplicationFailedException
    + FullyQualifiedErrorId : NativeCommandFailed

我已将 C:\Python27 及其子目录添加到 PATH。我可以通过键入 python.exe 来运行它。可以以同样的方式运行脚本。

我安装了 Python 2.7.11 64 位。

【问题讨论】:

  • 尝试启动 python.exe 并重启系统

标签: python windows powershell


【解决方案1】:

我可以重现您的错误的唯一方法是使用名为 python.exe 的新空文本文件替换我的 python.exe 文件。

第一步

我注意到您提到您已将 C:\Python27所有子目录 添加到您的 PATH 中。我首先建议从您的路径中删除所有子目录(只留下父目录)。确保在进行此更改后重新启动 Powershell 以获取新值。然后对其进行测试,看看这是否解决了问题。

替代解决方案

另一种可能性是,在您的路径某处,您的 python.exe 或其他一些 cmdlet、函数或脚本文件会影响您的 python 安装。您可以尝试在 powershell 中运行:

Get-Command python | Select-Object -ExpandProperty Definition

查看powershell实际引用的是什么。*如果返回的唯一值是C:\Python27\python.exe,那么我可能会建议重新安装。

注意事项:

[*] - 取自https://stackoverflow.com/a/16949127/1468125

【讨论】:

  • 我想我找到了问题所在。首先尝试了您的替代解决方案。它返回 C:\Python27\python.exe 和 E:\cygwin64\bin\python。所以我不想删除cygwin的路径。我该怎么办?改变它们的顺序会解决问题吗?因为 cygwin 目录是写在 Python 之前的。
  • 实际上我现在尝试更改他们的订单并且成功了!非常感谢,这几天一直困扰着我:D
  • 在我的情况下,%AppData%\Local\Microsoft\WindowsApps\python.exe 有一个 0KB 文件,它覆盖了我的标准 python 3.9 exe。
【解决方案2】:

我最近遇到了这个问题。为了修复它,我必须编辑 PATH 环境变量以确保我的 Python 3 安装位置在 C:\cygwin64\bin 之前,它有一个 python 到旧版本的软链接。 从技术上讲,也可以启动 Cygwin 安装实用程序并删除旧的 python 来修复它。

但是我所做的只是右键单击“我的电脑”图标,选择属性,然后单击高级系统设置以打开 Windows 系统属性对话框。从那里我选择了环境变量按钮。然后我再次看到,C:\cygwin64\bin 在 PATH 环境变量中列出了两次,一次在 user variables 部分,一次在 System variables em> 部分。我将 Python38 重新排序为我的 user variables PATH 环境中的第一个,并从 System variables PATH 环境中删除了 C:\cygwin64\bin 条目。然后点击OK,用VS code打开一个新的Terminal,一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-13
    • 2015-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多