Что это за значок 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.

  • Matplotlib-Animation «Нет доступных фильмов»
  • Найти и нарисовать плоскость регрессии до набора точек
  • Легенда с использованием PathCollections в matplotlib
  • matplotlib: отображение в буфер / данные пикселя доступа
  • Как форматировать формат номера оси до тысяч с запятой в matplotlib?
  • изменение диапазона x по умолчанию в гистограмме matplotlib
  • Интерактивная цифра с OO Matplotlib
  • Почему scipy.optimize.curve_fit не подходит для данных?
  • matplotlib растровый график с векторным текстом
  • Как установить тики по фиксированной позиции, matplotlib
  • Понимание matplotlib: plt, figure, ax (arr)?
  • Python - лучший язык программирования в мире.