如何在Windows 7的命令提示符中运行Python程序?

168 投票
24 回答
895395 浏览
提问于 2025-04-16 09:32

我正在尝试在Windows 7的命令提示符下运行Python程序。(我应该早就搞明白这个了…)

当我在命令提示符中输入“python”时,出现了以下错误:

‘python’ 不是内部或外部命令,也不是可运行的程序或批处理文件。

我在寻找帮助时,首先找到这个网站:http://docs.python.org/faq/windows.html#how-do-i-run-a-python-program-under-windows

这个网站有点帮助,但教程是为Windows 2000及更早版本写的,所以对我的Windows 7机器帮助不大。我尝试了以下方法:

对于旧版本的Windows,最简单的方法是编辑C:\AUTOEXEC.BAT文件。你需要在AUTOEXEC.BAT中添加一行类似下面的内容:

这个文件在我的机器上不存在(除非我搞错了)。

接下来,我尝试了这个:(这里是:如何运行Python程序?

将Python添加到你的路径中

Windows

为了运行程序,操作系统会在不同的地方查找,并尝试将你输入的程序/命令名称与某些程序进行匹配。

在Windows中:

控制面板 > 系统 > 高级 > |环境变量| > 系统变量 -> 路径

这里需要包含:C:\Python26;(或者相应的路径)。如果你把它放在最前面,它会是第一个被查找的地方。你也可以把它放在最后,这样可能更合理。

然后重启你的命令提示符,尝试输入'python'。如果一切正常,你应该会看到一个“>>>”的提示符。

这个方法对Windows 7来说足够相关,我找到了系统变量。我添加了一个变量“python”,值为“C:\Python27”。

即使重启了电脑,我还是继续收到错误信息。

有人知道怎么解决这个问题吗?

24 个回答

38

我花了不少时间在这里、网上和Python文档中寻找答案,还自己测试,终于让我的Python脚本在Windows机器(WinXP和Win7)上顺利运行。所以,我写了一篇博客,下面贴出来,希望对其他人有用。抱歉内容有点长,欢迎改进;我不是专家。

[更新:Python 3.3现在包含了Windows的Python启动器,这样你可以输入py(而不是python)来调用默认的解释器,或者输入py -2、py -3、py -2.7等。它还支持shebang行,允许脚本本身指定解释器。对于3.3之前的版本,启动器需要单独下载。 http://docs.python.org/3/whatsnew/3.3.html ]

在Windows下方便地运行Python脚本

也许你正在创建自己的Python脚本,或者有人给了你一个脚本来处理你的数据文件。假设你获得了一个Python脚本,并将其保存到“D:\my scripts\ApplyRE.py”。你想方便地运行它,可以通过双击它或者在命令行中输入它,甚至可以传递参数,比如这样(-o表示“如果输出文件已存在则覆盖”):

ApplyRE infile.txt outfile.txt -o

假设你还有一个数据文件,“C:\some files\some lexicon.txt”。最简单的办法是把文件或脚本移动到同一个位置,但这样可能会很麻烦,所以我们假设它们会保持分开。

确保Windows能找到Python解释器

安装Python后,确认在命令提示符中输入python能正常工作(然后输入exit()退出Python解释器)。

C:\>python
Python 3.2 (r32:88445, Feb 20 2011, 21:29:02) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
C:\>

如果这不行,你需要在PATH环境变量中添加类似“;C:\Python32”的内容(不带引号)。有关说明,请查看下面的PATHEXT。

将Python与.py和.pyc关联

确认双击ApplyRE.py能运行它。(顺便说一下,它的图标应该有Python的标志,并标记为“Python文件”。)如果还没有这样做,右键点击一个.py文件,选择“打开方式”,然后选择程序,勾选“始终使用...” 这个关联会提高便利性,但并不是绝对必要的——你可以每次运行脚本时都指定“python”,像这样:

D:\my scripts>python ApplyRE.py lexicon-sample.txt -o
Running... Done.

这里有一个非常具体的变体,除非你需要指定不同版本的解释器,否则这是可选的。

D:\my scripts>c:\python32\python ApplyRE.py lexicon-sample.txt -o
Running... Done.

但这样有点麻烦。幸运的是,一旦Python安装完成,添加到PATH,并与.py关联后,双击.py文件或直接在命令行中输入它应该都能正常工作。在这里,我们似乎是直接运行脚本——在“my scripts”文件夹中运行一个示例文件非常简单。

D:\my scripts>ApplyRE.py lexicon-sample.txt -o
Running... Done.

省略.py扩展名(编辑PATHEXT)

为了进一步减少输入,你可以告诉Windows .py(也许还有.pyc文件)是可执行的。要做到这一点,右键点击计算机,选择属性,进入高级,环境变量,系统变量。在现有的PATHEXT变量后面添加“;.PY;.PYC”(不带引号),如果你确定它还不存在,可以创建它。关闭并重新打开命令提示符。现在你应该可以省略.py(顺便说一下,如果存在ApplyRE.exe或ApplyRE.bat,运行它们会优先执行)。

D:\my scripts>ApplyRE lexicon-sample.txt -o
Running... Done.

将脚本添加到系统PATH

如果你打算经常从命令提示符使用你的脚本(通过使用BAT文件时就不那么重要),那么你需要将脚本的文件夹添加到系统PATH中。(在PATHEXT旁边你应该能看到一个PATH变量;在它后面添加“;D:\my scripts”(不带引号)。这样你就可以从其他位置运行脚本,处理当前目录中的文件,像这样:

C:\some files>ApplyRE "some lexicon.txt" "some lexicon OUT.txt" -o
Running... Done.

成功了!这就是简化命令行所需做的几乎所有事情。

直接运行而不调整PATH

如果你打字很快,或者不介意为每种情况创建一个批处理文件,你可以指定完整路径(对于脚本或参数),而不需要调整PATH。

C:\some files>"d:\my scripts\ApplyRE.py" "some lexicon.txt" "some lexicon OUT.txt" -o
Running... Done.
C:\some files>d:
D:\>cd "my scripts"
D:\my scripts>ApplyRE.py "c:\some files\some lexicon.txt" "c:\some files\some lexicon OUT.txt" -o
Running... Done.

创建快捷方式或批处理文件

如果.py与已安装的Python关联,你可以直接双击ApplyRE.py来运行它,但控制台可能会出现并迅速消失,让你看不到输出(或错误信息!)。要传递参数,你需要先做以下其中一项: (a) 右键点击并创建一个快捷方式。右键点击快捷方式以编辑属性,并在目标后面添加参数。 (b) 创建一个批处理文件——一个带有独特名称的纯文本文件,比如ApplyRErun.bat。这个选项可能更好,因为你可以让它暂停,以便查看输出。以下是一个示例BAT文件的内容,假设它位于c:\some files中。

python "d:\my scripts\ApplyRE.py" "some lexicon.txt" "some lexicon OUT.txt" -o
pause

高级:添加到PYTHONPATH

这通常不是必需的,但另一个可能相关的环境变量是PYTHONPATH。如果我们将d:\my scripts添加到这个变量中,那么其他位置的Python脚本可以通过导入语句使用这些脚本。

66

假设你已经安装了Python2.7

  1. 首先,打开开始菜单。

  2. 然后,右键点击“计算机”。

  3. 选择“属性”。

  4. 会弹出一个对话框,左边有一个叫“高级系统设置”的链接,点击它。

  5. 在系统属性对话框中,点击一个叫“环境变量”的按钮。

  6. 在环境变量对话框里,找到“Path”这个选项,它在系统变量窗口里。

  7. 在“Path”的末尾添加“;C:\Python27”。注意,分号是Windows系统中用来分隔路径的符号。

  8. 点击确定,然后关闭所有对话框。

  9. 现在打开一个新的命令提示符窗口,输入“python”。

这样应该就能正常工作了。

233

你需要把 C:\Python27 加到你的系统 PATH 变量里,而不是新建一个叫“python”的变量。

找到系统的 PATH 环境变量,然后在它后面加上一个 ;(这个是分隔符),再加上包含 python.exe 的文件夹路径(比如 C:\Python27)。下面有具体的步骤。

PATH 环境变量列出了 Windows(还有 cmd.exe)在你输入命令名时会检查的所有位置,比如“python”(它还会用 PATHEXT 变量来查找可执行文件的扩展名)。它会找到第一个在 PATH 中有这个名字的可执行文件并运行它。

注意,修改这个变量后不需要重启 Windows,但只有新打开的 cmd.exe 窗口会使用更新后的 PATH。你可以在命令提示符下输入 set PATH 来查看当前的值。


在 Windows 7 及以上版本中将 Python 添加到 PATH 的具体步骤:

  1. 计算机 -> 系统属性(或者按 Win+Break) -> 高级系统设置
  2. 点击 环境变量... 按钮(在高级选项卡中)
  3. 编辑 PATH,并在最后加上 ;C:\Python27(根据你的 Python 版本替换)
  4. 点击确定。注意,PATH 的更改只会在更改后新打开的命令提示符中生效。

撰写回答