dav*_*ode 20 python pycharm docker
我正在努力弄清楚如何设置在Docker容器中运行的python应用程序(Flask)的远程调试.具体来说,我使用的是docker-compose,PyCharm professional和python 3.5.这是我到目前为止所做的:
我在wsgi.py文件中添加了以下行:
import sys sys.path.append('../ pycharm-debug-py3k.egg')import pydevd pydevd.settrace('0.0.0.0',port = 8200,stdoutToServer = True,stderrToServer = True)
我在PyCharm中创建了一个远程调试配置(通过将本地机器项目路径的路径映射到docker容器中的路径)
通过从PyCharm运行调试配置(单击错误图标),它打印(并挂起):
import sys
sys.path.append('../pycharm-debug-py3k.egg')
import pydevd
pydevd.settrace('0.0.0.0', port=8200, stdoutToServer=True, stderrToServer=True)
Run Code Online (Sandbox Code Playgroud)
...在docker容器日志中,我读到:
无法连接到0.0.0.0:4200
我该怎么办?(我的目标是能够在PyCharm中添加断点并停止执行docker容器应用程序以进行调试)
使用远程解释器,这将立即解决几个问题.我在这里已经在Docker开发环境中回答了这里的Rich编辑器
将远程python SDK添加到IDE,这将解析远程安装的所有库.您将需要SSH连接来完成此操作,因此请安装sshd并使用我在答案中概述的共享开发人员密钥.
即使现在这需要更多的努力,我会给你更好的结果,也是在你还没有遇到的其他部分,并且会发现,只做一个远程端口连接.
如果您仍想使用基于端口的调试,请参阅Docker:MacOSX Expose Container端口到主机 - 这解释了您应该如何理解attach和listen部分.