Pycharm 在 docker 托管应用程序上运行“使用 cython 的调试器加速”
Posted
技术标签:
【中文标题】Pycharm 在 docker 托管应用程序上运行“使用 cython 的调试器加速”【英文标题】:Pycharm run "Debugger speedups using cython" on docker hosted app 【发布时间】:2017-04-10 02:43:00 【问题描述】:我有一个奇怪的问题,我似乎无法深入了解。 我的 django 项目是使用 docker-compose 设置的
version: '2'
services:
db:
image: postgres:9.6.0
environment:
POSTGRES_PASSWORD: docker
POSTGRES_USER: docker
ports:
- "8001:5432"
djweb:
build: .
command: python dj/manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
而 dockerfile 是
FROM python:3.5.2
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
在 Pycharm 中,我启动了一个使用 docker compose 配置的新 Django 项目,它创建得很好。当我尝试调试它时,我得到了通常的结果:
警告:未找到使用 cython 的调试器加速。跑步 '"/usr/local/bin/python" "/opt/.pycharm_helpers/pydev/setup_cython.py" build_ext --inplace' 来构建。 pydev 调试器:进程 1 正在连接
现在问题来了。由于一个奇怪的只读错误,我似乎无法运行 Pycharm 在我的“djweb”容器上建议的 setup_cython 命令。如果有人能指出我正确的方向,我将不胜感激(我可能需要为我的容器添加一些体积或??? - 显然 pycharm 还添加了其他图像/容器在我的旁边)
root@b8bf92996472:/# "/usr/local/bin/python" "/opt/.pycharm_helpers/pydev/setup_cython.py" build_ext --inplace 运行 build_ext 构建 '_pydevd_bundle.pydevd_cython' 扩展 创建构建 错误:无法创建“构建”:只读文件系统
【问题讨论】:
【参考方案1】:我遇到了同样的问题,并且能够以这种方式使用命令解决它:
docker run -t -i --volumes-from pycharm_helpers_PY-163.10154.50 IMAGE_NAME \
/usr/bin/python /opt/.pycharm_helpers/pydev/setup_cython.py build_ext --inplace
你可能需要用你自己的实例替换163.10154.50
- 我在 PyCharm 中找到了我的 ->View
->Tool Windows
->Docker
,在弹出的视图中,在Docker
- >Containers
。
IMAGE_NAME 可以通过docker ps
找到
注意 - 在我的配置中,我使用 docker-machine,需要先从终端运行 eval $(docker-machine env)
。
【讨论】:
以上是关于Pycharm 在 docker 托管应用程序上运行“使用 cython 的调试器加速”的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Pycharm 中使用 Docker 虚拟环境解决工作目录/导入根的问题
Spring Boot Docker Container 无法连接到托管在 Docker 主机上的 postgresql