【问题标题】:PyCharm remote debug using remote container Python interpreter使用远程容器 Python 解释器进行 PyCharm 远程调试
【发布时间】:2021-03-18 09:51:07
【问题描述】:

我的情况是我在一个远程服务器上搭建了一个容器,容器里面有一个虚拟环境。我在这个容器的这个虚拟环境中使用 python 解释器,而不是主机上的那个。

在我的本地机器上,我可以打开 PyCharm,然后使用 Tools->Deployment->Configuration 轻松设置远程连接。而对于特定的项目,我可以通过点击Files->Settings->Project Interpreter来设置解释器。但是,我似乎只能选择远程服务器上的主机 Python 解释器(/usr/bin/python),而不是容器中虚拟环境内的那个。我该如何设置使用这个解释器?

我用谷歌搜索但找不到确切的解决方案。我认为我不需要在本地安装 Docker,因为我的 Docker 在远程服务器端,对吧?

【问题讨论】:

  • 容器内的虚拟环境理想情况下不暴露于外界。话虽如此,如果您的卷与主机共享,您可能可以通过转到容器卷所在的路径来调用虚拟环境,
  • 您可以在 PyCharm 中添加远程 Docker 解释器(请参阅 here ),但这需要让 Docker 侦听 TCP。这并不难,但需要一些时间。在我看来,在本地使用 Docker 会更好。

标签: python docker ssh pycharm containers


【解决方案1】:

以类似的方式连接到远程主机 - 您需要设置具有相同功能的容器,例如设置 ssh 服务器在那里运行。然后你应该将端口暴露在公共世界或使用nested ssh隧道,这将是更好的选择。

另一种有趣的方法(可能是推荐的)是forward Docker socket from the remote machine,这样,您的本地 Docker CLI 使用此套接字将命令发送到远程主机。理论上,当你在那里设置正确的 Docker 主机地址时,你可以直接在 PyCharm 中添加这个容器。

此外,PyCharm 本身不支持本地主机系统以外的虚拟环境。但是,您可以尝试添加 python 的路径并查看它是否有效,例如venv/bin/python 来自项目目录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-06
    • 2013-12-07
    • 2019-12-01
    • 1970-01-01
    • 2019-03-18
    • 2015-02-12
    • 1970-01-01
    • 2020-11-04
    相关资源
    最近更新 更多