Остановить выход программы с графическим интерфейсом Python при запуске из CLI - PullRequest
2 голосов
/ 08 октября 2011

Как я могу легко создать блокирующее приложение с графическим интерфейсом в OS X?

У меня есть простая программа прорисовки на Python. Когда я запускаю его из существующего интерактивного сеанса Python или из iPython, отображается окно графического интерфейса, и я могу видеть его и взаимодействовать с ним. Когда я запускаю файл .py из интерфейса командной строки, графический интерфейс мигает и сразу закрывается.

Я хотел бы запустить это из командной строки и оставить графический интерфейс.

if __name__ == "__main__":
    import matplotlib
    from matplotlib import pyplot
    data = range(1,10)
    fig = pyplot.plot(data)
    pyplot.show()

1 Ответ

3 голосов
/ 08 октября 2011

Звучит так, как будто интерактивный режим как-то включен, хотя я не уверен, где.Попробуйте это так:

def main():
    import matplotlib.pyplot as plt
    data = range(1,10)
    fig = plt.plot(data)
    plt.ioff()  # turns interactive mode OFF, should make show() blocking
    plt.show()


if __name__ == "__main__":
    main()
...