This older question似乎已过期。
过去(基于reading git repos和the qtconsole issue tracker),您可以在没有控制台窗口的情况下启动Jupyter QtConsole,
pythonw -m jupyter qtconsole
但是,在最新版本的Jupyter中,这仍会启动后台控制台窗口。
我想知道是否有人知道如何在没有烦人的控制台窗口的情况下启动QtConsole。我知道您可以从Anaconda Navigator程序中执行此操作,但是我不想启动一个程序,然后再启动另一个程序。我希望有一个简单的批处理脚本,甚至是一个python脚本,以便可以使用“开始”菜单快捷方式启动
直接运行模块也不起作用:
pythonw -c "from qtconsole.qtconsoleapp import main; main()"
这仍然会启动一个新的控制台窗口,如图所示,所以我真的不知道这是否可以通过某些简单的方式实现,或者Anaconda Navigator是否正在进行一些魔术操作来实现此目的
答案 0 :(得分:5)
这里有两个问题:
%CONDA_PREFIX%\Scripts\jupyter-qtconsole.exe
被标记为控制台可执行文件(Subsystem
field in PE optional header)-m ipykernel_launcher <etc>
子进程以python.exe
开头,即使启动器以pythonw
开头。
%CONDA_PREFIX%\share\jupyter\kernels\python3\kernel.json
。它使用可执行文件的完整路径,因此不会触发the logic in jupyter_client\manager.py
that replaces certain patterns with sys.executable
。这两项都是特定于Anaconda的,而不是使用普通的Python。因此,针对https://github.com/conda-forge/qtconsole-feedstock提交错误以解决此问题。
这些是变通办法:
pythonw <Scripts_dir>\jupyter-qtconsole-script.py
包装的脚本.exe
。setuptools
之类的东西。)kernel.json
中的完整路径替换为“ python
”。当您更新此文件所属的ipykernel
软件包时,此更改将被覆盖(可以通过在%CONDA_PREFIX%\pkgs
中进行搜索来检查)。The OP reports that this solution may break other Anaconda packages。我相信那些打破标准的人会对标准流的可用性做出假设。尽管在我的书中它也算是一个错误,但这一定是由于Anaconda软件包未使用此设置进行测试这一事实。
要创建快捷方式/批处理文件以在Anaconda Prompt环境中运行上述命令,请参见例如How to make batch files run in anaconda prompt。