PyCharm远程解释器:无法执行Docker的Python二进制文件

4

我已经配置了PyCharm以便将目标Python二进制文件指向我的Docker容器,但是出现了以下错误:

Couldn't refresh skeletons for remote interpreter
failed to run generator3.py for docker://app:latest//usr/local/python/bin/python, exit code 126, stderr: ----- /usr/local/python/bin/python: /usr/local/python/bin/python: cannot execute binary file -----

我正在使用Python 3.4.3在虚拟机上运行PyCharm 5.0.4和Docker 1.10.0。以下是我的PyCharm远程解释器设置: enter image description here 保存这些设置会导致“非零退出代码”和上述错误。
2个回答

5
在您的Docker镜像的Dockerfile中,您可能会发现一个类似于ENTRYPOINT ["bash"]的条目。PyCharm将尝试以以下方式运行解释器:

docker run app:latest /usr/local/python/bin/python

结合ENTRYPOINT,容器内的命令如下:

bash /usr/local/python/bin/python

由此可以理解错误消息。如果您可以控制Dockerfile,则可以将ENTRYPOINT更改为CMD;如果无法更改,则可以更改entrypoint,使其能够使用/usr/local/python/bin/python作为参数并正确处理它。


0
问题在于我在 PyCharm 完全支持 Docker Compose 之前就开始使用它了,而这种支持直到 PyCharm 2016.1 才真正开始出现。在我提出这个问题大约一个月后,PyCharm 博客 发布了关于如何与 Docker Compose 一起使用的文章。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接