我以前能够使用Docker Machine在PyCharm 16.1中调试我的Flask应用程序。我可以构建Docker容器,然后将其指定为远程Python解释器。我最近升级了Docker以使用Beta for OSX,它可以本机运行,不再需要docker-machine VM。在阅读完相关问题之后:Where is the certificates folder for Docker Beta for Mac我在尝试调试时仍遇到问题。
我有用于PyCharm的2.3.2 Docker插件和PyCharm build 162.1237.1。它现在通知您运行命令
socat TCP-LISTEN:2376,reuseaddr,fork UNIX-CLIENT:/var/run/docker.sock
当您尝试输入unix:///var/run/docker.sock作为Docker API URL时。执行此操作(并将URL指向tcp:// localhost:2376)后,服务器将连接到Docker Beta系统,并允许您选择可用的容器映像作为远程解释器。但是,当您尝试调试应用程序时,它会在连接到调试器时卡住“等待连接”。在这种情况下,PyCharm会启动Docker容器,如果我执行容器,我可以运行ps aux
并查看:
python -u /opt/.pycharm_helpers/pydev/pydevd.py --multiproc --qt-support --client 10.0.2.2 --port 61276 --file /opt/project/app.py.
文件/opt/project/app.py在容器中,我可以通过运行python /opt/project/app.py
成功启动烧瓶应用程序。如何让PyCharm成功运行此文件并连接调试器,以便我可以在IDE中逐步执行代码。