【问题标题】:Python's "EDIT with IDLE" runs but exits immediately (Win7)Python 的 "EDIT with IDLE" 运行但立即退出 (Win7)
【发布时间】:2017-06-24 05:19:56
【问题描述】:

有很多来自 Windows 上的 Python 用户的线程丢失了上下文菜单上的“使用 IDLE 编辑”选项(在文件资源管理器中右键单击 .py 文件)。我确实有菜单项,但大多数时候它似乎什么都不做。

在任务管理器中检查正在运行的应用程序和进程什么都没有发现,除了我认为 IDLE 或其启动器或某些东西运行得非常短暂,所以它通常不会出现在任务管理器列表中。

感谢所有建议将其分为问题和答案的人。 我的解决方案(目前)将在接下来发布

【问题讨论】:

  • 我可以建议将上述内容分成一个实际问题和一个单独的自我答案吗? - 人们在寻找答案时倾向于看答案,而不是在问题的结尾,当然很多人可能不会看这个,因为它没有没有个答案。
  • 是的,发布一个问题并自己回答。没有错。你甚至可能得到不同的(可能更好的答案)
  • /W 不是 pythonw.exe 的选项。该命令将立即无法查找名为“/W”的文件。此外,如果“使用 IDLE 编辑”使用此批处理脚本,您的注册表配置是错误的。那将显示一个控制台窗口。对于只有 Python 2.7 的系统,注册表中的命令应该是 "[Installation Directory]\pythonw.exe" "[Installation Directory]\Lib\idlelib\idle.pyw" -e "%1"
  • eryksun,感谢您的回复。我的系统只有 Python 3;它由 pip 和 Anaconda 安装了 3.5,并且由 Anaconda 安装了 3.6(现已删除)。但绝不是 2.x。 /W 是对 CMD shell START 命令的切换。它说当脚本(.BAT 文件)完成时,shell 不应该退出,而是保持窗口打开并等待输入。我在这里找到了:
  • [editor timed out on me] ...我找到了此处记录的 /W 命令:ss64.com/nt/start.html 关于注册表:在 HKEY_CLASSES_ROOT、Python.File、Shell、editwithidle、shell、edit35、command ,我有 "F:\Python35\pythonw.exe" -m idlelib "%L" %*

标签: python windows-7 contextmenu python-idle


【解决方案1】:

最终,很明显它正在启动 IDLE,但 IDLE 在等待用户输入时立即退出。 Windows CMD 脚本有时会在感觉不到对话时执行此操作。

我在 F:\Python35\Lib\idlelib\Idle.bat 找到了相关脚本。如果在命令中添加“/W”开关,它会等待输入。问题解决了,至少到目前为止。整个 Idle.bat 文件现在如下所示。唯一的变化是在主命令行中插入“/W”:

@echo 关闭 rem 使用适当的 Python 解释器启动 IDLE 设置 CURRDIR=%~dp0 启动 "IDLE" "%CURRDIR%....\pythonw.exe" /W "%CURRDIR%idle.pyw" %1 %2 %3 %4 %5 %6 %7 %8 %9

【讨论】:

    猜你喜欢
    • 2022-06-23
    • 2018-01-24
    • 2015-07-13
    • 2018-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多