2016-06-09 2 views
0

Я хочу знать, запущен ли скрипт python из PyCharm. Следующая строкаОбнаружение Pycharm

in_pycharm = 'original_argv' in dir(sys) and 'pydevd' in sys.original_argv[0] 

работает нормально для отладки и не работает для запуска. Может ли кто-нибудь порекомендовать мне лучший способ?

+0

Почему важно знать, с чего начинался сценарий? Это может быть проблема [XY] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)? – jonrsharpe

+0

С Linux под управлением 'ps aux' вы сможете увидеть родительский процесс, возможно, вы можете каким-то образом использовать его. – Yaron

ответ

0

Простейшее решение, вероятно, иметь pycharm указать переменную окружения, что-то вроде INPYCHARM=1, а затем проверить os.environ.get('INPYCHARM')==1. Вы можете указать переменную среды в меню конфигурации «Запуск/отладка» (в раскрывающемся меню «Выполнить»).

Редактировать: Похоже, что PYCHARM_HOSTED указан в os.environ по умолчанию, поэтому следующее должно работать (проверено на pycharm 5.0.4).

in_pycharm = 'PYCHARM_HOSTED' in os.environ 
Смежные вопросы