通过记事本在Windows中执行python(F6 Exec命令__main__错误)

时间:2012-09-11 03:07:39

标签: python windows module

我在win7上安装了notepad ++,并安装了notepad ++ exec插件。每当我执行我正在运行的.py脚本时,我都会收到以下错误:

C:/Python27/python.exe ""
Process started >>>
C:\Python27\python.exe: can't find '__main__' module in ''
<<< Process finished.
================ READY ================

我的index.py脚本如下:

text = "Hello World"
print text

Notepad ++执行脚本(F6)如下:

C:/Python27/python.exe "$(C:/Python27/python.exe)"

这是我系统上python.exe的正确路径。在windows环境变量中,我还将其添加到PATH中。此外,我已经启动了python.exe命令提示符并通过手动输入来使脚本工作。我已经完成了C:/ Python27和 main .py文件的目录搜索存在。

这是怎么回事?为什么python不能找到__ main __ module ??

修改

没关系,我是个白痴。

所以我误解了notepad ++ exec(F6)脚本的设置:

C:/Python27/python.exe "$(C:/Python27/python.exe)"

应该是这样的:

C:/Python27/python.exe "$(FULL_CURRENT_PATH)"

当然找不到 main .py文件,因为它没有进入FULL_CURRENT_PATH。 继续。

1 个答案:

答案 0 :(得分:2)

基本上,这是因为脚本中的第一个参数被错误解释了。 也就是说,使用代码

C:/python27/python.exe "$(C:/python27/python.exe)"

你正在做一些大致相同的事情

C:/python27/python.exe 

您需要使用的是:

C:/Python27/python.exe "$(FULL_CURRENT_PATH)"

注意:不要将“$(FULL_CURRENT_PATH)”替换为其他内容 - 将其逐字地添加 - 它是NppExec插件的预定义变量。在当前打开的选项卡中,可以将其视为文件完整路径的简写。

当我执行上面的脚本时(在一个名为tmp.py的文件中,在我的c:\ xampp \ htdocs \ enhzflep文件夹中),我会在控制台中显示:

  

C:/Python27/python.exe“C:\ xampp \ htdocs \ enhzflep \ tmp.py”   CreateProcess()失败,错误代码为2:系统找不到   指定文件。

这很好,因为我没有在这台机器上安装python。 :)

编辑:刚看到你的编辑。看来我是个傻瓜!