繁体   English   中英

使用鼠标右键>>在此处命令提示符后执行脚本时,Python无法正常工作

[英]Python doesn't work properly when I execute a script after using Right Click >> Command Prompt Here

这是一个奇怪的错误。 我知道PATH变量有点时髦,但不知道如何解决。

如果我有脚本C:\\ Test \\ test.py并从IDLE内执行,则可以正常工作。 如果我使用Run >> cmd.exe打开命令提示符并手动导航,则效果很好。 但是,如果我使用Windows 7的便捷功能,请右键单击文件夹>>“命令提示符”,然后在此处键入test.py,它将失败,并出现导入错误。

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

有任何想法吗?

编辑:为有效的命令提示符打印python路径会产生正确的路径。 在不工作的“此处的命令提示符”上打印它会产生:“未定义环境变量python”。

首先,我在Windows7(及其他)上工作,并使用“命令提示符”在命令行运行python 通过运行“此处命令提示符”并运行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进行比较。 这应该为您提供解决导入错误所需的信息。

我使用的Windows很少,但是也许当您打开“右键单击->命令提示符”时,PATH与手动导航不同。 首先尝试打印您的PATH(哦,我不理想如何执行此操作),然后查看它是否在2种情况下有所不同。

您可以在命令行上使用“ set”命令检查当前存在的环境变量。 为了使python正常工作,您至少需要指向python库的PYTHONPATH,并且python.exe的路径应包含在PATH变量中。

暂无
暂无

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

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