【发布时间】:2009-11-09 17:41:54
【问题描述】:
我更喜欢使用 Notepad++ 进行开发,
如何通过 Notepad++ 执行 Python 中的文件?
【问题讨论】:
我更喜欢使用 Notepad++ 进行开发,
如何通过 Notepad++ 执行 Python 中的文件?
【问题讨论】:
打开记事本++。在菜单上转到:运行 -> 运行.. (F5)。输入:
C:\Python26\python.exe "$(FULL_CURRENT_PATH)"
现在,不要按运行,而是按保存为其创建快捷方式。
备注
Python31 而不是 Python26
-i
使用运行 Python 脚本的批处理脚本,然后从 Notepad++ 创建一个快捷方式。
这里解释:http://it-ride.blogspot.com/2009/08/notepad-and-python.html
代码打开“HKEY_CURRENT_USER\Software\Python\PythonCore”,如果该键存在,它将从该键的第一个子键获取路径。
检查该键是否存在,如果不存在,您可以尝试创建它。
【讨论】:
py -3 -i "$(FULL_CURRENT_PATH)"。了解py -3 命令的有用链接:stackoverflow.com/questions/15912063/…
@Ramiz Uddin's answer 绝对值得更多关注:
cmd /K python "$(FULL_CURRENT_PATH)"
【讨论】:
python "$(FULL_CURRENT_PATH)"
【讨论】:
C:\Python27\python.exe 必须改变以反映他们自己的 Python 的安装位置,但后半部分,-i "$(FULL_CURRENT_PATH)" 是魔法,需要按原样键入.
首先从https://www.python.org/downloads/安装Python
运行安装程序
** 重要 ** 请务必同时检查:
点击立即安装,完成安装。
打开 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
就这么简单。
【讨论】:
在菜单上转到:“运行”->“运行...”(或只需按 F5)。
py -2 -i "$(FULL_CURRENT_PATH)"
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 快捷方式一起使用。
我还想直接从 Notepad++ 运行 python 文件。
在网上找到的最常见的选项是使用内置选项Run。那么你有两个选择:
在控制台中运行 python 文件(在 Windows 中是 Command Prompt),代码类似于 this(链接:):
C:\Path\to\Python\python.exe "$(FULL_CURRENT_PATH)"
(如果您的控制台窗口在运行后立即关闭,那么您可以将cmd /k 添加到您的code。链接:)这工作正常,您甚至可以运行文件在interactive mode 中添加-i 到您的code(链接:@987654)。
在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。 (我也试过PyNPP和Python Script。PyNPP在控制台中运行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,选择你的脚本,点击Modify 和 assign 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。
【讨论】:
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 最后在您按下任意键后关闭窗口键。
【讨论】:
之前提出的解决方案都不适合我。需要稍作修改。
在记事本++中按F5后,输入:
cmd /k "C:\Python27\python.exe $(FULL_CURRENT_PATH)"
命令提示符保持打开状态,因此您可以看到脚本的输出。
【讨论】:
我使用 NPP_Exec 插件(在插件管理器中找到)。安装完成后,打开控制台窗口(ctrl+~)并输入:
cmd
这将启动命令提示符。然后输入:
C:\Program Files\Notepad++> **python "$(FULL_CURRENT_PATH)"**
执行您正在使用的当前文件。
【讨论】:
我希望这里的人们会发布步骤,而不仅仅是整体概念。我最终得到了 cmd /k 版本的工作。
分步说明如下:
【讨论】:
这里没有答案,或者我发现的插件提供了我想要的。一种极简的方法来启动我在 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)。
【讨论】:
我的问题是,正如 copeland3300 所提到的,我的脚本是从 notepad++ 文件夹运行的,因此无法找到其他项目文件,例如数据库文件、模块等。我使用标准 notepad++ “运行”解决了这个问题" 命令 (F5) 并输入:
cmd /k "cd /d "$(CURRENT_DIRECTORY)" & python "$(FULL_CURRENT_PATH)""
Python 在我的 PATH 中。脚本完成后 Cmd 窗口保持打开状态。
【讨论】:
在上述解决方案中,我没有看到一个问题得到解决。 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 文件的目录,然后运行它。您可以使用“&”符号将任意数量的命令行命令串在一起。
【讨论】:
CURRENT_DIRECTORY 识别为代码文件的目录。
cmd /K cd "$(CURRENT_DIRECTORY)"&python "$(FULL_CURRENT_PATH)"&pause&exit 这结合了上一个答案的所有元素。
我想避免在 Notepad++ 宏中使用完整的 python 目录路径。我尝试了此页面中给出的其他解决方案,但都失败了。
在我的电脑上工作的是:
在 Notepad++ 中,按 F5。
复制/粘贴:
cmd /k cd /d "$(CURRENT_DIRECTORY)" && py -3 -i "$(FULL_CURRENT_PATH)"
输入。
【讨论】:
从 Notepad++ 的菜单栏中打开 运行 → 运行...(快捷键:F5)
在给定的空格中,输入:
"$(FULL_CURRENT_PATH)" -1
点击运行
哒哒!
【讨论】:
traceback.print_exc();input()
我最近开始使用 Notepad++ for Python,我发现这种方法非常简单。准备好运行代码后,在 Notepad++ 窗口中右键单击代码选项卡,然后选择“在 cmd 中打开包含文件夹”。这会将命令提示符打开到存储当前程序的文件夹中。你现在需要做的就是执行:
蟒蛇
这是在 Notepad++(2015 年 1 月 10 日版本)上完成的。
我无法添加屏幕截图,所以这里有一个带有屏幕截图的博客文章 - http://coder-decoder.blogspot.in/2015/03/using-notepad-in-windows-to-edit-and.html
【讨论】:
在 Notepad++ 中,转到 运行 → 运行...,选择 Python 安装的路径和 idle.py 文件:
C:\Python27\Lib\idlelib\idle.py
添加一个空格和这个:
"$(FULL_CURRENT_PATH)"
你来了!
视频演示:
【讨论】:
如果有人有兴趣将参数传递给 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
【讨论】:
您可以通过 cmd 运行您的脚本并位于脚本目录中:
cmd /k cd /d $(CURRENT_DIRECTORY) && python $(FULL_CURRENT_PATH)
【讨论】:
我通常更喜欢在 python 本机 IDLE 交互式 shell 上运行我的 python 脚本,而不是从命令提示符或类似的东西。我已经尝试过了,它对我有用。只需打开“运行 > 运行...”,然后粘贴下面的代码
python -m idlelib.idle -r "$(FULL_CURRENT_PATH)"
之后,您可以使用热键保存它。
您必须确保在您的环境变量中添加并注册了所需的 python。
【讨论】:
除了关于使用 Python 解释器的系统范围安装的许多其他答案之外,还有一个用于 Notepad++ 的 Python 插件。我已经用过很多次了,效果还不错。您甚至可以指定快捷键来运行特定的 Python 脚本。
它是开源且免费的(免费)。
【讨论】: