2014-10-22 132 views
0

我一直在使用Python一段时间,但是我从来没有能够从Windows命令行正确运行它。示出的错误是:将Python添加到Windows环境变量中

C:\ Windows \ System32下>蟒

“蟒”不被识别为一个内部或外部的命令,可操作的程序或批处理文件。

我试过很多次解决这个问题。我知道这是编辑环境变量的问题,但这并没有解决问题。我的系统路径变量是目前

C:\ Python27; C:\ Python27 \ Lib文件; C:\ Python27 \ DLL文件; C:\ Python27 \ LIB \ LIB-TK

这是在我的目录中正确的Python位置。我已经尝试将其添加到我的用户路径,并试图创建一个包含它们的PYTHONPATH变量。

我应该注意到,运行python.exe确实有效。

C:\ Windows \ System32下> python.exe

的Python 2.7.5(默认情况下,5月15日 2013,22点43分36秒)[MSC v.1500 32位(英特尔)]对win 32输入“help”, “copyright”,“credits”或“license”以获取更多信息。

我试过各种解决方案无济于事。任何帮助是极大的赞赏。

+0

如果'python.exe'工作,但'python'不工作,这听起来像是你搞砸了'PATHEXT'环境变量。它指定在命令中未指定一个扩展名时尝试的扩展名。我看起来像'PATHEXT = .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS; .JSE; .WSF; .WSH; .MSC; .PY; .PYW; .PYC; .PYO ; .tcl'。 – 2014-10-22 05:28:56

+0

这可能是这种情况,但我的PATHEXT包含EXE。我有PATHEXT = .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS; .JSE; .WSF; .WSH; .MSC; .PY; .PYW; .PYC; .PY O – acal2112 2014-10-22 05:55:12

+0

在系统搜索'PATH'中不应该有这些目录:'C:\ Python27 \ Lib; C:\ Python27 \ DLLs; C:\ Python27 \ Lib \ lib-tk'。 Python的导入系统在这些目录中查找模块。它们是预先配置的,所以不要将它们设置在'PYTHONPATH'中;如果还安装了Python 3,则会导致问题。 – eryksun 2014-10-22 06:22:01

回答

1

安装Python 3.3或更高版本。它附带一个名为Python Launcher(py.exe)的实用程序,它安装在Windows目录中,并且已经在路径中。有了它,你可以启动你已经安装的任何版本的Python。

要运行的默认Python可以用PY_PYTHON变量覆盖。

下面是一个演示。我的Python的三个版本安装:

C:\>set PY_PYTHON 
PY_PYTHON=3.3 

C:\>py 
Python 3.3.5 (v3.3.5:62cf4e77f785, Mar 9 2014, 10:35:05) [MSC v.1600 64 bit (AMD64)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> ^Z 

C:\>py -2 
Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> ^Z 

C:\>py -3 
Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:45:13) [MSC v.1600 64 bit (AMD64)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> ^Z 

另外,如果你添加一个特殊行的Python文件的顶部,您可以选择将运行该脚本的Python版本下:

#!python3 

全部细节在这里:https://docs.python.org/3.4/using/windows.html#python-launcher-for-windows