在Windows上设置Python,不需要在cmd中输入"python"

2024-09-30 23:35:26 发布

您现在位置:Python中文网/ 问答频道 /正文

如何进行配置,使我不必在Windows上的CMD中键入python script.py,而只需键入script.py

我将python目录添加到包含python.exe的%PATH%中,但脚本仍然无法正确运行。

我试过用django-admin.py运行django-admin.py startproject mysite给我 Type 'django-admin.py help <subcommand>' for help on a specific subcommand.在它前面使用python正确地处理命令。

这里有什么问题?


Tags: djangopy目录脚本cmd键入adminwindows
2条回答

在Python 3.3中,包含一个launcher for Windowspy(对于GUI或非UI应用程序,pyw

which aids in locating and executing of different Python versions. It allows scripts (or the command-line) to indicate a preference for a specific Python version, and will locate and execute that version.

Unlike the PATH variable, the launcher will correctly select the most appropriate version of Python. It will prefer per-user installations over system-wide ones, and orders by language version rather than using the most recently installed version.

Python安装程序默认情况下会将Python的文件扩展名链接到open动词,因此您只需键入Python文件的名称(如果需要,还可以键入参数)就可以运行该文件。

警告:be aware of the differences between python.exe and pythonw.exe


除其他优点外,Windows启动程序读取“nix shebangs,因此可以指定Python版本或python.execommand line arguments

您可以在运行此脚本时检查此项(假设py3为默认值):

#! /usr/bin/python2.7 -i
import sys
print(sys.version)
  • myscript.py:与py一起运行,启动python2.7,完成后进入交互模式(-i,非常适合测试和调试)。
  • myscript.py -3:与py一起运行,启动python3,并保持交互模式。
  • python myscript.py:使用默认的python运行时运行,没有交互模式。

您可以使用ftype更改此默认关联,但我强烈建议:

您可以很容易地将其他动词(如edittestdebug…)与这些文件关联起来。


此外,还可以通过将Python的扩展名添加到PATHEXT环境变量(按首选项排序)中,从而省略Python在终端中运行文件的扩展名。(必须重新打开终端才能使更改生效)。

setx PATHEXT %PATHEXT%;.PYC;.PYZ;.PY

C:\> assoc .py=Python
C:\> ftype Python="C:\python27\python.exe %1 %*"

或者不管相关路径是什么-也可以使用ftype设置命令行参数。


为了使命令可以识别而不必给出后缀(.py),类似于它对.exe文件的工作方式,请将.py添加到(global)PATHEXT变量的分号分隔列表中。

预计到达时间2017年7月27日

似乎这仍在吸引眼球,想为Win10用户(来自@shadowrunner)提升一条有用的评论:

要让它在Win10下工作,实际的命令是(注意引号的位置):

C:\> ftype Python="c:\Anaconda2\python.exe" "%1" %*

预计到达时间2019-02-01

谈谈常青树!

首先,如果您是新安装的Python,我强烈建议您查看@NunoAndré的答案。

其次,要澄清最近的评论,请注意:您必须同时执行(assocftype)两个部分,或者在ftype命令中使用预先存在的关联标签。

默认情况下,至少对于Windows 8.1下的Python 3.7来说,.py的关联是Python.File,因此除非首先更改关联,否则执行我上面编写的ftype命令将无法正常工作。或者您可以只使用ftype并给出默认关联。由你决定。

相关问题 更多 >