繁体   English   中英

如何在Windows中执行Python脚本?

[英]How to execute Python script in Windows?

我目前正在尝试在Windows的CLI上添加git扩展(或插件,无论您要调用什么),因此,如果我输入git hello ,它将执行例如hello world程序。

下面是hello world程序(在python中)。 这在Unix系统上可以很好地工作。

#!/usr/bin/env python print ("Hello GIT!")

如果将文件放在路径中,并将其命名为“ git-hello”,则应在调用“ git hello”时执行。 该文件没有扩展名,因为它会使命令“ git hello.py”不受欢迎,并且同样会失败。

但是,GIT在环境方面遇到了一些麻烦,并吐出了以下内容:

PS D:\\GitTests> git hello /usr/bin/env: 'python': No such file or directory


我尝试过的事情是:

  1. 将“ python”更改为“ py”,因为这就是我的python解释器在CLI上启动的方式。 这只会导致整个事情挂起,什么也不做。
  2. 将环境行更改为python可执行文件的直接路径。

我知道您可以使用git config方法(因此我使用的是git config --global alias.hello“!py D:/GitTests/git-hello.py” ),但是我不认为似乎是最好的处理方式,因为在Windows上,您需要在别名中提供python解释器。

所以我的问题是-如何在Windows上使用GIT执行python程序(例如上述程序)?

编辑:建议的重复项无法解决此问题,因为它与命令行上的文件关联有关,但是此问题的问题是python的路径不正确。

对于那些遇到类似问题并在2017年安装python的人-确保您的路径正确。 VS Installer并未将python添加到我的路径中,而是在路径中仅包含py.exe而没有python.exe的某些变体。

我认为这不是Python 3问题。 IMO,Python 3是对Python 2的重大改进。此外,从官方消息来看: Python 2.x是旧版,Python 3.x是该语言的现在和将来。

认为问题出在git。 让我详细说明。

Python(请参阅PEP 397 )和git(请参阅git hooks )都带来了UNIX #! 用于向MS-Windows启动脚本的行机制。

Python实现只是尝试确定所需的Python版本,然后启动它。

AFAICT的git版本( 最近msys构建 )只是尝试执行命令。 因此,当您的脚本包含#!/usr/bin/env python它将运行其内置版本的env命令,该命令会尝试查找python

仅当python.exe的位置在PATH环境变量中时,此方法才有效。 事实并非如此,因为env找不到它。 (这很奇怪,因为我认为Python安装程序会为您解决这个问题。)

根据此页面上的“环境设置”部分,您仅应在使用msys时修改用户路径,而不是系统范围的路径。 我建议您使用此处描述的方法将Python可执行文件的位置添加到用户路径。 当您使用它时,我建议您还将Python Scripts目录的位置添加到您的路径中。 这通常是有用的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM