2010-05-31 61 views
0

执行脚本时,Python无法正常工作这是一个奇怪的错误。我知道这是我的PATH变量的时髦,但不知道如何解决它。使用右键单击>>命令提示符

如果我有一个脚本C:\ Test \ test.py,我从IDLE内执行它,它工作正常。如果我打开命令提示符使用运行>> cmd.exe并手动导航它工作正常。但是如果我使用Windows 7的方便的右键单击文件夹>>命令提示符在这里然后键入test.py它失败,并导入错误。

如果我使用上面的后一种方法,我也不能只输入“python”来到达python shell会话。

任何想法?

编辑:打印工作的命令提示符的python路径会产生正确的路径。打印它在非工作的“命令提示符在这里”产生:环境变量python未定义“

回答

2

首先,我工作在Windows7上(其中包括),并运行0123来自命令行的适用于我使用“命令提示符在这里”。通过运行“Command Prompt Here”并运行set,确保您的PATH环境变量中包含python.exe目录。

现在输入错误。导入时,Python将在sys.path列表中指定的目录中查找模块。将PYTHONPATH环境变量添加到此列表以及一些默认目录和给定Python脚本的目录中。但是,在IDLE中,这个目录是IDLE的目录,因此与从命令行运行它们相比,这可能会导致您在运行IDLE时发现的差异。详情请参阅http://docs.python.org/tutorial/modules.html#the-module-search-path

以下是我对如何解决此问题的建议。您没有提及您接收到哪些导入错误,但尝试在IDLE内运行脚本并检查有问题的模块的.__file__属性以查看它们的位置。然后将从IDLE内部的sys.path与从命令行运行Python时得到的sys.path进行比较。这应该为您提供解决导入错误所需的信息。

1

我不使用Windows很多,但也许当您打开右键单击 - >命令提示符时,PATH是不同的手动导航首先尝试打印PATH(哦,我不知道如何做到这一点),看它在2情况下是否有所不同

+0

嘿我刚刚启动到我的Windows机器,并找出......只要键入路径它将打印您当前的路径。 – ntcong 2010-05-31 11:15:00

0

您可以使用命令中的“set”命令检查当前环境变量对于python来说,你至少需要PYTHONPATH指向你的python库,python.exe的路径应该包含在你的PATH变量中。

+0

见上。为什么1 cmd似乎没有继承路径变量。 – 2010-05-31 11:25:22