我试图在VSC中远程配音python:
是main.py文件:
print('Hello, World')
debug.py:
import ptvsd
ptvsd.enable_attach('my_secret', address=('0.0.0.0', 7102))
ptvsd.wait_for_attach()
Dockerfile:
FROM python:3.6-slim
EXPOSE 7102
RUN pip install ptvsd
WORKDIR /app
COPY . .
CMD ["python", "debug.py"]
它是launch.json文件:
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach (Remote Debug)",
"type": "python",
"request": "attach",
"localRoot": "${workspaceRoot}",
"remoteRoot": "/app",
"port": 7102,
"secret": "my_secret",
"host": "172.17.0.3"
}
]
}
这是一个构建和启动容器的命令:
docker build -t python-for-debug。
docker run -it -p 7102:7102 python-for-debug
当我运行调试器时,我得到: screen of vs code
调试控制台没有任何错误,没有输出,没有问题。没有任何输出用于运行容器。没有泊坞日志
VS Code版本:1.15.0 Docker版本17.06.0-ce,build 02c1d87
答案 0 :(得分:4)
嗨,您应该使用ptvsd 3,因此将Dockerfile中的RUN行更改为:
RUN pip3 install ptvsd==3.0.0
还可以在本地运行ptvsd安装:
$pip3 install ptvsd==3.0.0
有关更多信息,请访问https://code.visualstudio.com/docs/python/debugging#_remote-debugging 这对我有用,希望对您有所帮助。
答案 1 :(得分:0)
我认为问题是你的docker进程终止了。
您将debug.py作为Dockerfile中的命令启动。所以Docker启动任务,等待你的调试器附加然后退出,因为没有更多事情要做。
似乎您需要将代码放入debug.py作为最简单的尝试。请记住,您不能在
之后立即放置断点ptvsd.wait_for_attach()
所以你最好在两者之间写一些备用线 希望这会有所帮助。