Прикрепить скрипт Python CGI к отладчику PyCharm?
Я использую Community Edition PyCharm 4.5.1 и разрабатываю скрипты CGI для Python. Мне нужно запустить отладчик и прикрепить скрипт (затем прервать к первой точке останова), как только он будет вызван моим HTTP-клиентом.
Я не знаю, смогу ли я, надеюсь. Все работает отлично, от сервера Python до кода HTML/JavaScript, который вызывает мой CGI-скрипт. Кроме того, я отлично могу отлаживать скрипт Python, который я запускаю в обычном режиме. Но теперь проблема в том, что сценарий запускается сервером HTTP, а не мной (из командной строки) и самим отладчиком.
Любая идея? Спасибо!
2 ответа
Я столкнулся с той же проблемой, что и вы, когда я использую pycharm в CentOS, но я обнаружил, что pycharm может автоматически подключаться к сценарию cgi в Windows, поэтому я стараюсь следовать исходному коду CGIRequestHandler, я обнаружил, что есть разница в CGIRequestHandler.run_cgi(), она будет использовать fork в linux и подпроцесс в windows, так что, я думаю, это могут быть два разных способа создания дочернего процесса, приводящего к разным результатам. так что я пробую следующий код, заставьте его подпроцесс на Linux, и это работает!
CGIHTTPRequestHandler.have_fork = 0
httpd = HTTPServer(('', port), CGIHTTPRequestHandler)
AFAIK, ты просто положил в свой сценарий
import cgitb
cgitb.enable()
print "Content-type: text/html\n\n"
и это отлаживается само по себе.