Pycharm连接远程服务器运行报错:can‘t open file ‘/tmp/

问题描述

配置好远程服务器的 Python Interpreter 以及远程服务器的 Deployment Configuration 后,已经能够实现本地项目代码和远程项目代码的映射及同步,但是运行python文件时,仍然出现以下报错:

can't open file '/tmp/yu7PtS0Uqb/....

远程服务器上确实存在 /tmp/yu7PtS0Uqb/ 这个目录。但是我在 Deployment 明明配置了对应的远程项目目录啊,为什么又映射到了 /tmp/yu7PtS0Uqb/ 目录下呢?

原因分析

虽然我们在 Deployment 中配置了远程服务器的映射目录,但是之前创建的 Python Interpreter 会有个默认的映射路径(远程服务器的 /tmp/下的临时目录)。

注意:这种情况只有在项目中切换使用过去已经创建好的 Python Interpreter 时出现,而在基于该项目新建 Python Interpreter 时不会出现。

  • 因为在新建解释器时,我们会直接配置远程的Python解释器目录和文件映射目录,这时解释器的映射目录是对应的远程项目目录。
  • 而在项目中通过切换操作使用已经创建好的 Python Interpreter 时,解释器默认会将映射目录设置成的远程/tmp目录,就算修改了Deployment也无济于事。

解决方案

本解决方案适用于Pycharm 2023版本

打开 Run -> Edit Configurations,配置项目的 Path Mapping(本地项目和远程项目的映射目录),如下图所示:
在这里插入图片描述

在这里插入图片描述

【注意】:Path mappings的本地目录和远程目录,都只要写到项目根目录即可。不需要写到具体的python文件目录,如果写到具体python文件目录,可能会存在项目中的一些相对路径无法读取到,导致报错的问题。

配置好本地项目和远程项目的映射目录后,再次运行python文件,已经不会出现上述报错了。成功解决!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值