这是什么 Python 图标?
What is this Python Icon?
有时当我在终端中 运行 python 脚本时,一个 python 实例会打开
我见过 matplotlib 和 ghost 造成的。关闭它的唯一方法似乎是关闭 python 终端。
这个实例到底是什么?如何让它在我的脚本执行后自动关闭?
PyCharm 在它产生的任何弹出窗口关闭之前不认为脚本是完整的。当您 运行 matplotlib 并弹出一个图时,这一点很明显。如果 PyCharm 在脚本完成后关闭 window,那么 window 会在您查看图表之前立即关闭。
有两种方法可以完成脚本。关闭弹出窗口,或单击 PyCharm 中的停止按钮。
在 OS X 上,只要您执行与 GUI 交互的操作,Dock 就会显示 Python 的图标。最常见的原因是使用 matplotlib
和 GUI 后端(例如 PyQt)。当使用交互式后端(例如 PyQt)时,您通常会在调用 plt.show()
后看到一个火箭图标,该图标将保留在 Dock 上,直到 window 关闭并且与 GUI 交互的进程退出。
当您在 Python shell 中交互工作时,图标停留在那里并不是因为 Terminal 仍然打开(或者脚本仍在执行) 但因为 Python 进程仍处于活动状态。此进程可能在后台维护一个 GUI 事件循环。
有几种解决方法:
- 在
matplotlib
中,您可以使用plt.show(block=False)
分离事件循环,这意味着一旦window关闭,图标就会消失。
- 设置非交互式后端,例如
matplotlib.use("Agg")
以避免创建 windows。当然,你什么也看不到。
- 修改Python.app
.plist
抑制图标
对于后者,instructions here (Dr. Drang)如下。请注意,这是针对系统 Python,对于其他位置,您需要在别处找到 .plist
:
cd /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/
# NB the following file is binary, use a compatible editor or convert with
sudo plutil -convert xml1 Info.plist # Convert to XML
sudo chmod 666 Info.plist # Make editable
然后在最后的</dict>
之前添加以下内容
<key>LSUIElement</key>
<true/>
Return 到二进制并修复权限:
sudo chmod 644 Info.plist
sudo plutil -convert binary1 Info.plist
有时当我在终端中 运行 python 脚本时,一个 python 实例会打开
我见过 matplotlib 和 ghost 造成的。关闭它的唯一方法似乎是关闭 python 终端。
这个实例到底是什么?如何让它在我的脚本执行后自动关闭?
PyCharm 在它产生的任何弹出窗口关闭之前不认为脚本是完整的。当您 运行 matplotlib 并弹出一个图时,这一点很明显。如果 PyCharm 在脚本完成后关闭 window,那么 window 会在您查看图表之前立即关闭。
有两种方法可以完成脚本。关闭弹出窗口,或单击 PyCharm 中的停止按钮。
在 OS X 上,只要您执行与 GUI 交互的操作,Dock 就会显示 Python 的图标。最常见的原因是使用 matplotlib
和 GUI 后端(例如 PyQt)。当使用交互式后端(例如 PyQt)时,您通常会在调用 plt.show()
后看到一个火箭图标,该图标将保留在 Dock 上,直到 window 关闭并且与 GUI 交互的进程退出。
当您在 Python shell 中交互工作时,图标停留在那里并不是因为 Terminal 仍然打开(或者脚本仍在执行) 但因为 Python 进程仍处于活动状态。此进程可能在后台维护一个 GUI 事件循环。
有几种解决方法:
- 在
matplotlib
中,您可以使用plt.show(block=False)
分离事件循环,这意味着一旦window关闭,图标就会消失。 - 设置非交互式后端,例如
matplotlib.use("Agg")
以避免创建 windows。当然,你什么也看不到。 - 修改Python.app
.plist
抑制图标
对于后者,instructions here (Dr. Drang)如下。请注意,这是针对系统 Python,对于其他位置,您需要在别处找到 .plist
:
cd /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/
# NB the following file is binary, use a compatible editor or convert with
sudo plutil -convert xml1 Info.plist # Convert to XML
sudo chmod 666 Info.plist # Make editable
然后在最后的</dict>
<key>LSUIElement</key>
<true/>
Return 到二进制并修复权限:
sudo chmod 644 Info.plist
sudo plutil -convert binary1 Info.plist