如何在没有控制台 window 的情况下在 Windows 上启动最新的 Jupyter QtConsole
how to launch recent Jupyter QtConsole on Windows without a console window
似乎已过时。
过去(基于 reading git repos and the qtconsole issue tracker)您可以在没有控制台的情况下启动 Jupyter QtConsole window 运行 背景:
pythonw -m jupyter qtconsole
但是,在最新版本的 Jupyter 中,这仍然会启动后台控制台 window。
我想知道是否有人知道如何在没有烦人的控制台的情况下启动 QtConsole window。我知道您可以从 Anaconda Navigator 程序执行此操作,但我不想启动一个程序以便我可以启动另一个程序。我更希望有一个简单的批处理脚本甚至 python 脚本,这样我就可以使用开始菜单快捷方式启动
运行模块直接也不行:
pythonw -c "from qtconsole.qtconsoleapp import main; main()"
这仍然会启动一个新的控制台 window,如图所示,所以我真的不知道这是否可以通过某种直接的方式实现,或者 Anaconda Navigator 是否正在使用一些黑魔法来做到这一点发生
这里有两个问题:
%CONDA_PREFIX%\Scripts\jupyter-qtconsole.exe
标记为控制台可执行文件 (Subsystem
field in PE optional header)
- 即使启动器是从
pythonw
启动的,-m ipykernel_launcher <etc>
子进程也是从 python.exe
启动的。
- 这个我可以追踪到
%CONDA_PREFIX%\share\jupyter\kernels\python3\kernel.json
。它使用可执行文件的完整路径,因此不会触发 the logic in jupyter_client\manager.py
that replaces certain patterns with sys.executable
.
这两个都是 Anaconda 特有的,不会发生在股票 Python。 因此, 提交一个针对 [=27 的错误=] 来解决这个问题。
这些是解决方法:
- 对于第一个错误,运行
pythonw <Scripts_dir>\jupyter-qtconsole-script.py
这是 .exe
包装的脚本。
(这是 Anaconda 特有的。常规 Python 使用不同的包装机制。Anaconda 必须修补 setuptools
或其他东西。)
- 对于第二个,将上述
kernel.json
中的完整路径替换为“python
”。当您更新此文件所属的 ipykernel
包时,此更改将被覆盖(这可以通过在 %CONDA_PREFIX%\pkgs
中搜索来检查)。
。我相信那些失败的人会对标准流的可用性做出假设。虽然它在我的书中也算作一个错误,但它一定是因为 Anaconda 包没有用这个设置测试过。
要在 Anaconda Prompt 环境中为 运行 上述命令创建一个 shortcut/batch 文件,请参见例如.
过去(基于 reading git repos and the qtconsole issue tracker)您可以在没有控制台的情况下启动 Jupyter QtConsole window 运行 背景:
pythonw -m jupyter qtconsole
但是,在最新版本的 Jupyter 中,这仍然会启动后台控制台 window。
我想知道是否有人知道如何在没有烦人的控制台的情况下启动 QtConsole window。我知道您可以从 Anaconda Navigator 程序执行此操作,但我不想启动一个程序以便我可以启动另一个程序。我更希望有一个简单的批处理脚本甚至 python 脚本,这样我就可以使用开始菜单快捷方式启动
运行模块直接也不行:
pythonw -c "from qtconsole.qtconsoleapp import main; main()"
这仍然会启动一个新的控制台 window,如图所示,所以我真的不知道这是否可以通过某种直接的方式实现,或者 Anaconda Navigator 是否正在使用一些黑魔法来做到这一点发生
这里有两个问题:
%CONDA_PREFIX%\Scripts\jupyter-qtconsole.exe
标记为控制台可执行文件 (Subsystem
field in PE optional header)- 即使启动器是从
pythonw
启动的,-m ipykernel_launcher <etc>
子进程也是从python.exe
启动的。- 这个我可以追踪到
%CONDA_PREFIX%\share\jupyter\kernels\python3\kernel.json
。它使用可执行文件的完整路径,因此不会触发 the logic injupyter_client\manager.py
that replaces certain patterns withsys.executable
.
- 这个我可以追踪到
这两个都是 Anaconda 特有的,不会发生在股票 Python。 因此, 提交一个针对 [=27 的错误=] 来解决这个问题。
这些是解决方法:
- 对于第一个错误,运行
pythonw <Scripts_dir>\jupyter-qtconsole-script.py
这是.exe
包装的脚本。
(这是 Anaconda 特有的。常规 Python 使用不同的包装机制。Anaconda 必须修补setuptools
或其他东西。) - 对于第二个,将上述
kernel.json
中的完整路径替换为“python
”。当您更新此文件所属的ipykernel
包时,此更改将被覆盖(这可以通过在%CONDA_PREFIX%\pkgs
中搜索来检查)。
要在 Anaconda Prompt 环境中为 运行 上述命令创建一个 shortcut/batch 文件,请参见例如