【解决方法】Pycharm直接使用远程服务器代码并调试

本文介绍了如何通过映射网络驱动器将远程服务器与本地开发环境相结合,使用Pycharm直接打开远程代码文件夹,创建并配置远程服务器的虚拟环境,通过SSH设置项目解释器,并进行Pathmapping以实现本地和远程路径的同步,从而实现远程代码的直接运行和调试。

问题

查询了很多网上的文章,连接远程服务器调试基本上都是本地复制一个代码文件夹调试好后再部署到服务器上,这就很麻烦,(作为一个懒人)我想直接打开远程服务器上的代码,不想不停地上传下拉代码。

步骤总览

  1. 将远程服务器映射为网络驱动器;
  2. 使用Pycharm打开映射地址代码文件夹;
  3. 服务器上创建虚拟环境;
  4. Pycharm解释器通过ssh配置为该虚拟环境;
  5. Path mapping将本地映射地址路径和服务器真实地址匹配。

将远程服务器映射为网络驱动器

电脑-计算机-映射网络驱动器-使用其他凭据连接
输入服务器用户名、密码

使用Pycharm打开映射地址代码文件夹

太简单了只好广告位招租

服务器上创建虚拟环境

# 创建虚拟环境
conda create -n "modelenv" python=3.7
# 查看已有虚拟环境
conda env list
# 激活环境
source activate modelenv

Pycharm解释器通过ssh配置为该虚拟环境

File-Settings-Project-Project Interpreter
右侧设置-Add Remote-SSH Credentials
输入服务器ip、用户名和密码
Python interpreter path 选择 anaconda-envs-创建的虚拟环境-python3.7

Path mapping将本地映射地址路径和服务器真实地址匹配

还是Project Interpreter页,第二行Path mapping,点击右侧三点按钮。
输入Local Path,如Z:/jinger/model
输入Remote Path,如/pan1/jinger/model
这样就将本地映射地址和远程服务器地址关联了起来。

当pycharm右键run时,它会自动连接到远程代码地址并使用远程环境运行。

PyCharm 中配置远程调试实现服务器代码的断点调试,可以通过以下步骤完成: ### 1. 确保服务器端环境准备就绪 首先,在远程服务器上需要安装 Python 和必要的依赖库。为了支持远程调试,还需要安装 `pydevd` 包,它是 PyCharm远程调试模块。可以通过以下命令安装: ```bash pip install pydevd-pycharm ``` 确保服务器上的 Python 版本与本地开发环境中使用的版本一致或兼容。 ### 2. 配置 PyCharm远程调试设置 打开 PyCharm,进入 **Run** 菜单,选择 **Edit Configurations...**。点击左上角的加号 (+) 添加一个新的配置,选择 **Python Remote Debug**。 - **Host**:输入远程服务器的 IP 地址。 - **Port**:指定一个端口号(例如 `5678`),这个端口将用于本地和远程调试器之间的通信。 - **Path mappings**:将本地项目路径映射到远程服务器上的项目路径。这一步非常重要,因为 PyCharm 需要知道如何将本地文件与远程文件对应起来。 保存配置后,PyCharm 将会在指定端口监听来自远程服务器的连接请求。 ### 3. 在代码中插入调试器断点 在远程服务器代码中,找到需要设置断点的位置,插入以下代码片段以启用远程调试: ```python import pydevd_pycharm pydevd_pycharm.settrace('localhost', port=5678, stdoutToServer=True, stderrToServer=True) ``` 这里的 `'localhost'` 应该是运行 PyCharm 的机器的 IP 地址,而 `port=5678` 是之前在 PyCharm 中配置的端口号。当程序执行到这一行时,它会暂停等待调试器连接。 ### 4. 启动调试会话 启动远程服务器上的应用程序。当程序运行到 `settrace()` 函数时,它会尝试连接到本地的 PyCharm 调试器。如果一切正常,PyCharm 将会接收到连接请求,在相应的代码位置暂停执行。 此时可以在 PyCharm 中查看调用堆栈、变量值,逐步执行代码,从而进行详细的调试分析。 ### 5. 处理常见问题 - **防火墙/端口问题**:确保远程服务器可以访问本地机器的调试端口(如 `5678`)。 - **路径不匹配**:如果 PyCharm 报告路径不匹配,请检查路径映射配置是否正确[^2]。 - **依赖缺失**:确保远程服务器上安装了所有必要的依赖库,尤其是 `pydevd-pycharm` 包。 通过上述步骤,可以顺利地在 PyCharm 中配置远程调试功能,远程服务器上的代码进行断点调试。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值