Docker远程上的Pycharm远程解释器:[Errno 2]没有这样的文件或目录

Posted

技术标签:

【中文标题】Docker远程上的Pycharm远程解释器:[Errno 2]没有这样的文件或目录【英文标题】:Pycharm Remote interpreter on Docker remote: [Errno 2] No such file or directory 【发布时间】:2019-02-19 20:35:01 【问题描述】:

如标题中所述,我正在尝试在我的 LAN 中的远程服务器上托管的 Docker 机器中使用 Pycharm Professional (2018.2) 和 python 远程解释器。我按照帮助“https://www.jetbrains.com/help/pycharm/using-docker-as-a-remote-interpreter.html”创建了一个非常简单的示例。

Pycharm 2018.2 安装在 debian 发行版的 LAN pc (192.168.1.10) 上; Docker 安装在局域网 debian 服务器 (192.168.1.22) 上

我能够将 Docker 配置为远程解释器,以通过 Pycharm 工具连接 Docker 服务,但是当我尝试在 Docker 容器中运行(或调试)main.py 时,我总是得到以下信息:

37073edcd9d2:python -u /opt/project/main.py (null): can't open file '/opt/project/main.py': [Errno 2] No such file or directory
Process finished with exit code 2

执行肯定是在远程 Docker 容器中完成的,但似乎找不到要执行的文件。我手动附加了各种博客上描述的本地卷,所有可能的变化,但我总是得到同样的错误。 这些是我的配置的一些规格: docker tool setting

project interpreter setting

Run/Debug Configuration

docker container setting with volume mapping into Run/Debug Configuration

有什么遗漏吗?

坦克。任何帮助表示赞赏!

【问题讨论】:

我认为问题在于在远程 docker 机器上安装本地路径。仅当 docker 机器位于安装了 pyCharm 的同一台 PC 上时,“on the fly”卷映射才有效 【参考方案1】:

问题在于 Pycharm 在“幕后”远程主机上管理 docker 机器的“限制”。在运行/调试配置中插入卷映射时,它被解释为本地路径,因此,在这种情况下,该路径必须存在于远程服务器上。因此,目前唯一的选择是通过首先通过 SSHFS 或 NFS 服务共享,将本地路径(项目所在的文件夹)挂载到 Docker 服务的远程主机上。 所以……(1)我使用NFS共享了Pycharm项目文件夹(本地机器ip 192.168.1.10); (2)我将共享文件夹安装在服务器主机上(在服务器 ip 192.168.1.22 上;mount -t nfs 192.168.1.10:/home/user/PythonProjects /home/ext-user/mnt/projects)然后(3)在 Pycharm 的运行/调试配置中,我将卷映射到远程服务器上安装的路径.. .运行...程序现在运行没有任何错误。 [Run result]

这些是我的新配置的一些规格:

Run/Debug Configuration

docker container setting with volume mapping into Run/Debug Configuration

我希望该解决方案对其他人有用。我也希望有比我更好的解决方案:-)

【讨论】:

能否请您详细说明您所说的“我使用 NFS 共享了 Pycharm 项目文件夹(本地机器 ip 192.168.1.10)”的部分? 抱歉耽搁了。有等待本地支持在远程计算机上运行 Docker 的解决方法。我想试试。你可以在这里看到发展:youtrack.jetbrains.com/issue/…

以上是关于Docker远程上的Pycharm远程解释器:[Errno 2]没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章

Pycharm 使用 Docker Container Python 作为远程解释器

PyCharm 在 Docker 中添加远程 Python 解释器

Pycharm 2017.1 EAP Python 控制台和远程 Docker 解释器不能一起工作

Pycharm 2017.1 EAP Python控制台和远程Docker解释器无法协同工作

pycharm如何远程连接服务器上的docker容器

pycharm如何远程连接服务器上的docker容器