【问题标题】:How to Execute a Python Script in Notepad++?如何在 Notepad++ 中执行 Python 脚本?
【发布时间】:2009-11-09 17:41:54
【问题描述】:

我更喜欢使用 Notepad++ 进行开发,

如何通过 Notepad++ 执行 Python 中的文件?

【问题讨论】:

标签: python notepad++


【解决方案1】:

第一个选项:(最简单,推荐)

打开记事本++。在菜单上转到:运行 -> 运行.. (F5)。输入:

C:\Python26\python.exe "$(FULL_CURRENT_PATH)"

现在,不要按运行,而是按保存为其创建快捷方式。

备注

  • 如果您有 Python 3.1:输入 Python31 而不是 Python26
  • 如果您希望命令行窗口在脚本完成后保持打开状态,请添加 -i

第二个选项

使用运行 Python 脚本的批处理脚本,然后从 Notepad++ 创建一个快捷方式。

这里解释:http://it-ride.blogspot.com/2009/08/notepad-and-python.html


第三个选项:(不安全)

代码打开“HKEY_CURRENT_USER\Software\Python\PythonCore”,如果该键存在,它将从该键的第一个子键获取路径。

检查该键是否存在,如果不存在,您可以尝试创建它。

【讨论】:

  • 嗯,感谢您到目前为止的帮助。我尝试了选项2,但没有奏效。它说:i37.tinypic.com/b4fhfm.jpg 在 Windows 7 上,这可能是问题所在?
  • 打开记事本++。在菜单上转到:运行 -> 运行.. (F5)。输入: cmd /K "$(FULL_CURRENT_PATH)"
  • 我不懂快捷方式。我保存它并给它一个快捷组合,但它不会仅通过按下这些键来运行。我究竟做错了什么?我可以将其设为插件命令并在选择控制台窗口时使用它。但这完全违背了重点。
  • 虽然这个答案 (#3) 似乎是我在网上找到的最常见的答案,但它对我来说效果不佳。问题是它运行 Notepad++ 目录中的所有内容。因此,我想出了以下解决方案: cmd /c "taskkill /F /IM python.exe & cd $(CURRENT_DIRECTORY) & C:\Python27\python.exe -i "$(CURRENT_DIRECTORY)\ $(FILE_NAME)"" 这将运行正确文件夹中的代码,并在执行后保持解释器打开。此外,它会像我经常做的那样,关闭您可能忽略关闭的任何其他打开的 Python 窗口。
  • 更新:这也适用于我:py -3 -i "$(FULL_CURRENT_PATH)"。了解py -3 命令的有用链接:stackoverflow.com/questions/15912063/…
【解决方案2】:

@Ramiz Uddin's answer 绝对值得更多关注:

  • 打开记事本++
  • 在菜单上转到:运行运行.. (F5)
  • 输入:cmd /K python "$(FULL_CURRENT_PATH)"

【讨论】:

  • 这很有效,而且更容易配置 IMO。还要添加 -i 让窗口保持打开 cmd /K python -i "$(FULL_CURRENT_PATH)"
  • 值得注意的是,此解决方案需要将 Python 添加到您的 PATH 中。它的工作原理是打开命令行并输入python "$(FULL_CURRENT_PATH)"
  • 不适用于 Python 3。为此,请在此处查看我的答案:stackoverflow.com/a/48528175/4561887
  • 这会调用 cmd 窗口。我们可以改用 powershell 吗?
【解决方案3】:

这对我有用:

打开记事本++,然后按 F5。你会得到一个小弹出框:

类型:C:\Python27\python.exe -i "$(FULL_CURRENT_PATH)" 用于 Python 2.7。

然后另存为...,然后选择您自己的组合键在每次您想运行某些东西时启动它

【讨论】:

  • 这是一个很好的简洁答案,当我的实习生去为 Python 开发设置 NPP 时,我已经将其推荐给他们。但是他们一直难以理解在哪里输入命令,所以我添加了一个图形来加强你的(对我来说很清楚)说明。他们也很难理解命令的第一部分,C:\Python27\python.exe 必须改变以反映他们自己的 Python 的安装位置,但后半部分,-i "$(FULL_CURRENT_PATH)" 是魔法,需要按原样键入.
  • 使用 windows11 和 python 3.10.2 对我来说是一种魅力。
【解决方案4】:

首先https://www.python.org/downloads/安装Python

运行安装程序

** 重要 ** 请务必同时检查:

  • 为所有用户安装启动器
  • 将 Python 3.6 添加到路径

点击立即安装,完成安装。

打开 notepad++ 并从插件管理器安装 plugin PyNPP。我正在使用 N++ 6.9.2

将新文件另存为 new.py

输入 N++

import sys

print("Hello from Python!")
print("Your Python version is: " + sys.version) 

按 Alt+Shift+F5

就这么简单。

【讨论】:

  • 更改快捷方式的技巧:搜索快捷方式(而不是名称)。禁用可能发生冲突的那个。
  • 可选:要简单地运行脚本(任何脚本,而不仅仅是 python),您可以使用插件 RunMe(但如果您运行 python,python 控制台将不会出现)
【解决方案5】:

在菜单上转到:“运行”->“运行...”(或只需按 F5)。

对于 Python 2,输入:

py -2 -i "$(FULL_CURRENT_PATH)"

对于 Python 3 输入:

py -3 -i "$(FULL_CURRENT_PATH)"

参考资料:

为了更好地理解py 命令:

py -h

了解py 命令的另一个有用链接:How do I run python 2 and 3 in windows 7?

感谢Reshure for his answer 让我走上了正确的道路来解决这个问题。

【讨论】:

  • 向上。将此与 CTRL + ALT + P 快捷方式一起使用。
【解决方案6】:

我还想直接从 Notepad++ 运行 python 文件。 在网上找到的最常见的选项是使用内置选项Run。那么你有两个选择:

  1. 在控制台中运行 python 文件(在 Windows 中是 Command Prompt),代码类似于 this(链接:):

    C:\Path\to\Python\python.exe "$(FULL_CURRENT_PATH)"
    

    (如果您的控制台窗口在运行后立即关闭,那么您可以将cmd /k 添加到您的code。链接:)这工作正常,您甚至可以运行文件在interactive mode 中添加-i 到您的code(链接:@987654)。

  2. IDLE中运行python程序,代码类似于this(链接:,在这些链接中使用C:\Path\to\Python\Lib\idlelib\idle.py,但我使用的是C:\Path\to\Python\Lib\idlelib\idle.bat , 因为idle.bat 会自动设置正确的当前工作目录):

    C:\Path\to\Python\Lib\idlelib\idle.bat "$(FULL_CURRENT_PATH)"
    

    实际上,这不会在IDLE Shell 中运行您的程序,而是在IDLE Editor 中打开您的python 文件,然后您需要单击Run Module(或单击F5)来运行程序。所以它会在IDLE Editor 中打开你的文件,然后你需要从那里运行它,这违背了从 Notepad++ 运行 python 文件的目的。

    但是,在网上搜索,我找到了在您的code 中添加“-r”的选项(链接:):

    C:\Path\to\Python\Lib\idlelib\idle.bat -r "$(FULL_CURRENT_PATH)"
    

    这将在IDLE Shell 中运行您的python 程序,并且因为它处于空闲状态,所以默认情况下处于交互模式。

通过内置 Run 选项运行 python 文件的问题是 每次运行 python 文件时,都会打开新的控制台或 IDLE 窗口并丢失以前执行的所有输出。这对某些人来说可能并不重要,但是当我开始用 python 编程时,我使用了Python IDLE,所以我习惯了在同一个IDLE Shell window 中多次运行 python 文件。从 Notepad++ 运行 python 程序的另一个问题是您需要手动保存文件,然后单击Run(或按 F5)。要解决这些问题(AFAIK*),您需要使用 Notepad++ 插件。从 Notepad++ 运行 python 文件的最佳插件是 NppExec。 (我也试过PyNPPPython ScriptPyNPP在控制台中运行python文件,它可以工作,但是你可以通过内置的Run选项在没有插件的情况下做到这一点,Python Script用于运行与记事本++交互的脚本所以你不能运行你的python文件。)要使用NppExec插件运行你的python文件,你需要去Plugins -> NppExec -> Execute然后输入类似this的东西(链接:):

C:\Path\to\Python\python.exe "$(FULL_CURRENT_PATH)"

使用NppExec,您还可以在使用npp_savecommand 运行之前保存您的python 文件,使用cd "$(CURRENT_DIRECTORY)" 设置工作目录command 或使用interactive mode 运行python 程序-icommand。我在网上找到了许多提到这些选项的链接(),但最好使用NppExec来运行我在NppExec's Manual找到的python程序,其中有章节4.6.4. Running Python & wxPython用这个code:

npp_console -  // disable any output to the Console
npp_save  // save current file (a .py file is expected)
cd "$(CURRENT_DIRECTORY)"  // use the current file's dir
set local @exit_cmd_silent = exit()  // allows to exit Python automatically
set local PATH_0 = $(SYS.PATH)  // current value of %PATH%
env_set PATH = $(SYS.PATH);C:\Python27  // use Python 2.7
npp_setfocus con  // set the focus to the Console
npp_console +  // enable output to the Console
python -i -u "$(FILE_NAME)"  // run Python's program interactively
npp_console -  // disable any output to the Console
env_set PATH = $(PATH_0)  // restore the value of %PATH%
npp_console +  // enable output to the Console

如果您使用其他 python 版本,您需要做的就是复制此代码并更改您的 python 目录(例如*我使用的是 python 3.4,所以我的目录是C:\Python34)。这段代码运行良好,但是我在这段代码中添加了一个line,这样我就可以多次运行python程序而不会丢失以前的输出:

npe_console m- a+

a+是开启“追加”模式,保留前一个控制台的文本,不清除。

m- 关闭控制台的内部消息(那些是绿色的)

我在 NppExec 的 Execute 窗口中使用的最终代码是:

npp_console -  // disable any output to the Console
npp_save  // save current file (a .py file is expected)
cd "$(CURRENT_DIRECTORY)"  // use the current file's dir
set local @exit_cmd_silent = exit()  // allows to exit Python automatically
set local PATH_0 = $(SYS.PATH)  // current value of %PATH%
env_set PATH = $(SYS.PATH);C:\Python34  // use Python 3.4
npp_setfocus con  // set the focus to the Console
npe_console m- a+
npp_console +  // enable output to the Console
python -i -u "$(FILE_NAME)"  // run Python's program interactively
npp_console -  // disable any output to the Console
env_set PATH = $(PATH_0)  // restore the value of %PATH%
npp_console +  // enable output to the Console

您可以save your NppExec's code,并为此 NppExec 的脚本分配一个快捷键。 (你需要打开Advanced options of NppExec's plugin,在Associated script下拉列表中选择你的脚本,按Add/Modify,重启Notepad++,进入Notepad++的Settings -> Shortcut Mapper->Plugin commands,选择你的脚本,点击Modifyassign a shortcut key。我想把 F5 作为我的快捷键,为此你需要先将内置选项 Run 的快捷键更改为其他内容。)链接到 NppExec's Manual 中解释的章节如何保存 NppExec 的代码并分配快捷键:NppExec's "Execute..."NppExec's script

P.S.*:使用 NppExec 插件,您可以添加突出显示某些行的 Highlight Filters(在 Console Output Filters... 中找到)。我用它以红色突出显示错误行,为此您需要添加Highlight masks*File "%FILE%", line %LINE%, in <*>Traceback (most recent call last):,如this

【讨论】:

  • 截至 2018 年,这是最好、最完整的答案。
  • @JimmyHe:同样截至 2021 年。
  • 喜欢您的样式链接作为小而圆的图像。打算自己开始使用它。顺便说一句,非常细致的回答。
  • 最好接受这个答案
【解决方案7】:

Run->Run 菜单选项的所有答案都带有 cmd 的“/K”开关,因此终端保持打开状态,或者 python.exe 的“-i”,因此 python 强制交互模式 - 两者都是为了保留输出供您观察。

但在cmd /k 中,您必须在python -i - quit() 中键入exit 才能关闭它。如果这对您的喜好而言输入过多(对我来说肯定是:),则要使用的运行命令是

cmd /k C:\Python27\python.exe  "$(FULL_CURRENT_PATH)" & pause & exit

C:\Python27\python.exe - 显然是你的 python 安装的完整路径(或者只是 python,如果你想使用用户路径中的第一个可执行文件)。

& 是在 Windows 中无条件执行下一个命令 - 无条件运行,因为它与前一个命令的 RC 无关(&& 是“和” - 仅在前一个命令成功完成时运行,|| - 是“或”)。

pause - 打印“按任意键继续...”并等待任何键(如果需要,可以抑制该输出)。

exit - 好吧,为你输入出口:)

所以最后,cmd 运行 python.exe 执行当前文件并保持窗口打开,pause 等待您按任意键,exit 最后在您按下任意键后关闭窗口键。

【讨论】:

  • 这个答案值得放在首位
  • 迄今为止我见过的最佳解决方案。
  • 这当然是最好的方法,干净简洁
【解决方案8】:

之前提出的解决方案都不适合我。需要稍作修改。

在记事本++中按F5后,输入:

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

命令提示符保持打开状态,因此您可以看到脚本的输出。

【讨论】:

    【解决方案9】:

    我使用 NPP_Exec 插件(在插件管理器中找到)。安装完成后,打开控制台窗口(ctrl+~)并输入:

    cmd
    

    这将启动命令提示符。然后输入:

    C:\Program Files\Notepad++> **python "$(FULL_CURRENT_PATH)"**
    

    执行您正在使用的当前文件。

    【讨论】:

      【解决方案10】:

      我希望这里的人们会发布步骤,而不仅仅是整体概念。我最终得到了 cmd /k 版本的工作。

      分步说明如下:

      1. 在 NPP 中,单击菜单项:运行
      2. 在子菜单中,点击:运行
      3. 在“运行...”对话框的“要运行的程序”字段中,删除所有现有文本并输入:cmd /K "$(FULL_CURRENT_PATH)" /K 是可选的,如果需要,它会保持打开脚本运行时创建的窗口。
      4. 点击保存...按钮。
      5. 快捷方式对话框打开;如果你想要一个键盘快捷键,请填写它(有一个注释说“这将禁用加速器”,所以也许你不想使用键盘快捷键,尽管当你分配一个键盘快捷键可能不会有什么坏处不需要加速器)。 我认为您必须在某个地方告诉 NPP Python.exe 文件在哪里(例如,对我来说:C:\Python33\python.exe)。我不知道你在哪里或如何做到这一点,但在这里尝试各种事情时,我能够做到这一点——我不记得是哪次尝试成功了。

      【讨论】:

      • 我猜 Python 就在你的路上。这对我有用,这就是为什么我不必告诉 NPP Python 在哪里(而且我不相信有任何地方可以告诉 NPP Python 在哪里)
      【解决方案11】:

      这里没有答案,或者我发现的插件提供了我想要的。一种极简的方法来启动我在 Notepad++ 上编写的 python 代码,只需按下快捷方式,最好没有插件。

      我有 Python 3.6(64 位),适用于 Windows 8.1 x86_64 和 Notepad++ 32 位。在 Notepad++ 中编写 Python 脚本并保存后,按 F5 获取 Run。然后写:

      "C:\Path\to\Python\python.exe" -i "$(FULL_CURRENT_PATH)"
      

      然后点击运行按钮。 i 标志强制终端在代码执行终止后保持静止,以便您检查它。此命令将在 cmd 终端中启动脚本,并且终端仍将在那里,直到您通过键入 exit() 将其关闭。

      为方便起见,您可以将其保存到快捷方式(我的是 CTRL + SHIFT + P)。

      【讨论】:

        【解决方案12】:

        我的问题是,正如 copeland3300 所提到的,我的脚本是从 notepad++ 文件夹运行的,因此无法找到其他项目文件,例如数据库文件、模块等。我使用标准 notepad++ “运行”解决了这个问题" 命令 (F5) 并输入:

        cmd /k  "cd /d "$(CURRENT_DIRECTORY)" & python "$(FULL_CURRENT_PATH)""
        

        Python 在我的 PATH 中。脚本完成后 Cmd 窗口保持打开状态。

        【讨论】:

          【解决方案13】:

          在上述解决方案中,我没有看到一个问题得到解决。 Python 将当前工作目录设置为您启动解释器的位置。如果您需要当前工作目录与保存文件的目录相同,则可以按 F5 并键入:

          cmd /K cd "$(CURRENT_DIRECTORY)"&C:\Users\username\Python36-32\python.exe -i "$(FULL_CURRENT_PATH)"
          

          除非您将 C:\Users\username\Python36-32\python.exe 替换为您机器上 Python 解释器的路径。

          基本上,您正在启动命令行,将目录更改为包含您尝试运行的 .py 文件的目录,然后运行它。您可以使用“&”符号将任意数量的命令行命令串在一起。

          【讨论】:

          • Notepad++ 无法将您的CURRENT_DIRECTORY 识别为代码文件的目录。
          • 非常感谢您的回答——我一直在为当前目录苦苦挣扎。我做了一些修改:cmd /K cd "$(CURRENT_DIRECTORY)"&python "$(FULL_CURRENT_PATH)"&pause&exit 这结合了上一个答案的所有元素。
          【解决方案14】:

          我想避免在 Notepad++ 宏中使用完整的 python 目录路径。我尝试了此页面中给出的其他解决方案,但都失败了。

          在我的电脑上工作的是:

          在 Notepad++ 中,按 F5。

          复制/粘贴:

          cmd /k cd /d "$(CURRENT_DIRECTORY)" && py -3 -i "$(FULL_CURRENT_PATH)"
          

          输入。

          【讨论】:

            【解决方案15】:

            扩展Reshure's answer

            1. 从 Notepad++ 的菜单栏中打开 运行 → 运行...(快捷键:F5

            2. 在给定的空格中,输入:

              "$(FULL_CURRENT_PATH)"  -1
              
            3. 点击运行

            哒哒!

            【讨论】:

            • 也用于错误处理将整个代码包装在try except块中,在try except块之外导入traceback(我真的不知道你是否可以在里面导入traceback),并在except部分添加,traceback.print_exc();input()
            • 能否提供完整的代码?我不知道你在说什么。谢谢。
            【解决方案16】:

            我最近开始使用 Notepad++ for Python,我发现这种方法非常简单。准备好运行代码后,在 Notepad++ 窗口中右键单击代码选项卡,然后选择“在 cmd 中打开包含文件夹”。这会将命令提示符打开到存储当前程序的文件夹中。你现在需要做的就是执行:

            蟒蛇

            这是在 Notepad++(2015 年 1 月 10 日版本)上完成的。

            我无法添加屏幕截图,所以这里有一个带有屏幕截图的博客文章 - http://coder-decoder.blogspot.in/2015/03/using-notepad-in-windows-to-edit-and.html

            【讨论】:

              【解决方案17】:

              在 Notepad++ 中,转到 运行 → 运行...,选择 Python 安装的路径和 idle.py 文件:

              C:\Python27\Lib\idlelib\idle.py
              

              添加一个空格和这个:

              "$(FULL_CURRENT_PATH)"
              

              你来了!

              视频演示:

              https://www.youtube.com/watch?v=sJipYE1JT38

              【讨论】:

                【解决方案18】:

                如果有人有兴趣将参数传递给 cmd.exe 并在虚拟环境中运行 python 脚本,我使用的步骤如下:

                在 Notepad++ -> Run -> Run 上,我输入以下内容:

                cmd /C cd $(CURRENT_DIRECTORY) && "PATH_to_.bat_file" $(FULL_CURRENT_PATH)
                

                这里我 cd 到 .py 文件所在的目录,这样它就可以访问 .py 代码目录中的任何其他相关文件。

                在我的 .bat 文件中:

                @ECHO off
                set File_Path=%1
                
                call activate Venv
                python %File_Path%
                pause
                

                【讨论】:

                  【解决方案19】:

                  您可以通过 cmd 运行您的脚本并位于脚本目录中:

                  cmd /k cd /d $(CURRENT_DIRECTORY) && python $(FULL_CURRENT_PATH)
                  

                  【讨论】:

                    【解决方案20】:

                    我通常更喜欢在 python 本机 IDLE 交互式 shell 上运行我的 python 脚本,而不是从命令提示符或类似的东西。我已经尝试过了,它对我有用。只需打开“运行 > 运行...”,然后粘贴下面的代码

                    python  -m idlelib.idle -r "$(FULL_CURRENT_PATH)"
                    

                    之后,您可以使用热键保存它。

                    您必须确保在您的环境变量中添加并注册了所需的 python。

                    【讨论】:

                      【解决方案21】:

                      除了关于使用 Python 解释器的系统范围安装的许多其他答案之外,还有一个用于 Notepad++ 的 Python 插件。我已经用过很多次了,效果还不错。您甚至可以指定快捷键来运行特定的 Python 脚本。

                      它是开源且免费的(免费)。

                      源码和插件位于:
                      https://github.com/bruderstein/PythonScript/

                      【讨论】:

                        猜你喜欢
                        • 2011-01-24
                        • 2020-03-23
                        • 2016-03-29
                        • 2010-12-28
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        相关资源
                        最近更新 更多