Что это за значок Python?

Иногда, когда я запускаю скрипты python в терминале, открывается экземпляр python

введите описание изображения здесь

Я видел, как matplotlib и призрак вызывают это. Единственный способ закрыть его, похоже, закрыть терминал python.

Что именно представляет собой этот экземпляр и как я могу его закрыть автоматически после выполнения моего скрипта?

2 Solutions collect form web for “Что это за значок Python?”

На OS X док-станция будет отображать значок для Python всякий раз, когда вы делаете что-то, что взаимодействует с графическим интерфейсом. Наиболее распространенной причиной этого является использование matplotlib с бэкэндом GUI (например, PyQt). При использовании интерактивного бэкэнда (например, PyQt) вы обычно увидите значок ракеты после вызова plt.show() который останется на доке, пока окно не будет закрыто и не обработает взаимодействие с выходами графического интерфейса.

Когда вы работаете в интерактивном режиме в оболочке Python, значок остается там не потому, что терминал все еще открыт (или скрипт все еще выполняется), а потому, что процесс Python по-прежнему активен. Этот процесс, вероятно, поддерживает цикл событий GUI в фоновом режиме.

Существует несколько решений:

  • В matplotlib вы можете использовать plt.show(block=False) чтобы отсоединить цикл событий, то есть значок исчезнет после закрытия окна.
  • Установите неинтерактивный бэкэнд, например matplotlib.use("Agg") чтобы matplotlib.use("Agg") не создавать окна. Конечно, вы ничего не видите.
  • Измените Python.app .plist для подавления иконок.

Для последнего инструкции здесь (д-р Дранг) заключаются в следующем. Обратите внимание, что это для системы 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/> 

Возврат к бинарным и исправлениям:

 sudo chmod 644 Info.plist sudo plutil -convert binary1 Info.plist 

PyCharm не считает, что сценарий завершен до тех пор, пока не будут закрыты всплывающие окна. Это видно при запуске matplotlib и всплывает сюжет. Если PyCharm закрыл окно по завершении сценария, окно сразу закроется, прежде чем вы сможете даже просмотреть свою диаграмму.

Есть два способа завершить сценарий. Либо закройте всплывающие окна, либо нажмите кнопку остановки в PyCharm.

  • Как исправить ImportError в matplotlib
  • Как построить временные метки в python, используя matplotlib?
  • Полоса прокрутки на странице Matplotlib
  • matplotlib chartplot с легендой
  • Как установить xlim и ylim для подзадачи в matplotlib
  • Извлечение внешнего контура или силуэта изображения в Python
  • Индивидуально маркированные столбцы для гистограмм в matplotlib / Python
  • Python pandas / matplotlib аннотирует метки над столбцами столбцов
  • Python - лучший язык программирования в мире.