2

我在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 的目录搜索,并且存在.py 文件。

这是怎么回事?为什么python找不到__主__模块??

编辑:

没关系,我是个白痴。

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

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

它应该是这样的:

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

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

4

1 回答 1

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。:)

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

于 2012-09-11T03:30:51.157 回答