PyCharm远程调试

使用远程服务器的环境

原文连接:https://www.cnblogs.com/xuegqcto/p/8621689.html
原文连接:https://blog.csdn.net/lin_danny/article/details/82185023
原文连接:https://blog.csdn.net/mycafe_/article/details/79430320

远程环境:centos7.6
远程py:3.6.8
本地环境:win10
本地py:3.6.8
pycharm版本:2019.1
在这里插入图片描述

一、PyCharm实现远程调试代码

1、打开PyCharm 工具, 点击 Tools -> Deployment -> configuration,如下图:
在这里插入图片描述
2、在新窗口添加远程服务器,在左上角点击 + 号,如下图:
在这里插入图片描述
在这里插入图片描述
3、配置远端服务器的连接信息,如下图:
3.1 设置服务器连接信息:
在这里插入图片描述
在这里插入图片描述
这里有个测试连接,可以测试是否能连接上(这里我真的是有点米,一开始是连不上的,然后我瞎点了几下后又还原回原来的连接信息后,又可以连接上了,可能是我之前开过vpn导致的重新定向服务器问题,关了后重启的程序,一开始是点了save password的,好像关了后就可以,然后再点击即可)

在这里插入图片描述
Authentication支持3种类型

  • Password,密码认证,简单(推荐)
  • Key pair(OpenSSH or PuTTY),私钥认证
  • OpenSSH config and authentication agent

3.2 设置本地和远端服务器目录
在这里插入图片描述
Local path:定义本地目录,如 d:\pywork
Deployment path on server:自定Linux服务器远端目录,切记,这里是相对目录!因为前面已经指定到了 /data/python目录,如果这里指定为/class18,那么配置成功后,将仅能看到 class18目录下的代码文件。根据自己需要设置即可!
Web path on server:web路径暂时不需要设置,保持默认。

4、经过上面步骤的配置后,我们可以在PyCharm 界面的右边查看远端代码,如下图:
在这里插入图片描述
切记!勾选 Automatic Upload 实现本地自动同步到远端

二、设置Python版本信息

这里由于本地与远程服务端的py是同一版本,所以设置方面相对于原文而言稍微简单些
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择远程服务器上Python解释器的位置,服务器上的远程同步文件夹Sync folders,可以选择多个。如果不知道Python安装在哪,可以远程连接服务器后,使用 命令 which python 找到Python安装位置。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后配置pycharm的远程环境变量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
PYTHONPATH=/usr/local/spark/spark-2.4.3-bin-hadoop2.7/python:/usr/local/spark/spark-2.4.3-bin-hadoop2.7/python/lib/py4j-0.10.7-src.zip:$PYTHONPATH
这条环境变量实际上是我在centos中设置的环境变量变化而来的
在这里插入图片描述
开始执行测试语句

from pyspark import SparkContext
from pyspark import SparkConf

conf = SparkConf().setMaster("local[*]").setAppName("test")
sc = SparkContext.getOrCreate(conf)
textFile = sc.textFile("file:///home/You Have Only One Life.txt")
wordCount = textFile.flatMap(lambda line: line.split(" ")).map(lambda word: (word,1)).reduceByKey(lambda a, b : a + b)
wordCount.foreach(print)
sc.stop()
quit()

执行结果

ssh://root@192.168.61.128:22/usr/local/python3/bin/python3.6 -u /tmp/pycharm_project_466/temp.py
19/06/05 08:22:53 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
[Stage 0:>                                                          (0 + 1) / 1]('There', 1)
('are', 2)
('moments', 1)
('in', 4)
('life', 4)
('when', 4)
('you', 26)
('miss', 2)
('someone', 1)
('so', 2)
('much', 1)
('that', 6)
('just', 3)
('want', 6)
('to', 15)
('pick', 1)
('them', 3)
('from', 1)
('your', 4)
('dreams', 1)
('and', 6)
('hug', 1)
('for', 2)
('real!', 1)
('Dream', 1)
('what', 2)
('dream;go', 1)
('where', 1)
('go;be', 1)
('be,because', 1)
('have', 7)
('only', 2)
('one', 4)
('chance', 1)
('do', 1)
('all', 1)
('the', 8)
('things', 2)
('do.', 1)
('May', 1)
('enough', 1)
('happiness', 1)
('make', 6)
('sweet,enough', 1)
('trials', 1)
('strong,enough', 1)
('sorrow', 1)
('keep', 1)
('human,enough', 1)
('hope', 1)
('happy', 1)
('Always', 1)
('put', 1)
('yourself', 1)
('others��shoes.If', 1)
('feel', 1)
('it', 1)
('hurts', 2)
('you,it', 1)
('probably', 1)
('other', 1)
('person,', 1)
('too.', 1)
('The', 1)
('happiest', 1)
('of', 6)
('people', 3)
('don��t', 2)
('necessarily', 1)
('best', 1)
('everything;they', 1)
('most', 1)
('everything', 1)
('comes', 1)
('along', 1)
('their', 3)
('way.Happiness', 1)
('lies', 1)
('those', 8)
('who', 10)
('cry,those', 1)
('hurt,', 1)
('searched,and', 1)
('tried,for', 1)
('they', 1)
('can', 1)
('appreciate', 2)
('importance', 1)
('touched', 2)
('lives.Love', 1)
('begins', 1)
('with', 4)
('a', 4)
('smile,grows', 1)
('kiss', 1)
('ends', 1)
('tear.The', 1)
('brightest', 1)
('future', 1)
('will', 3)
('always', 1)
('be', 1)
('based', 1)
('on', 3)
('forgotten', 1)
('past,', 1)
('can��t', 1)
('go', 2)
('well', 1)
('lifeuntil', 1)
('let', 2)
('past', 1)
('failures', 1)
('heartaches.', 1)
('When', 1)
('were', 2)
('born,you', 1)
('crying', 1)
('everyone', 2)
('around', 2)
('was', 1)
('smiling.Live', 1)
("die,you're", 1)
('is', 2)
('smiling', 1)
('crying.', 1)
('Please', 1)
('send', 1)
('this', 2)
('message', 1)
('mean', 1)
('something', 1)
('you,to', 1)
('way', 1)
('or', 1)
('another,to', 1)
('smile', 1)
('really', 2)
('need', 1)
('it,to', 1)
('see', 1)
('brighter', 1)
('side', 1)
('down,to', 1)
('know', 1)
('friendship.And', 1)
('if', 1)
('don��t,', 1)
('worry,nothing', 1)
('bad', 1)
('happen', 1)
('you,you', 1)
('out', 1)
('opportunity', 1)
('brighten', 1)
('someone��s', 1)
('day', 1)
('message.', 1)

Process finished with exit code 0

这就算执行成功了

使用docker中的环境

参考文章:https://anchorety.github.io/2020/11/19/%E8%AE%BE%E7%BD%AEpycharm%E4%BD%BF%E7%94%A8%E8%BF%9C%E7%A8%8B%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%AD%E7%9A%84docker%E7%8E%AF%E5%A2%83%E8%BF%9B%E8%A1%8C%E5%BC%80%E5%8F%91/
参考文章:https://zhuanlan.zhihu.com/p/605389180

安装、开启docker的ssh服务

远程环境:ubuntu
远程py:3.10.11
pycharm版本:2021.3.2

大部分docker的镜像中并没有安装ssh服务,因此一般需要自己安装,在docker中输入下面命令进行ssh安装:

apt update
apt install openssh-server
apt install openssh-client

启动docker,把22端口映射出来。

docker  run -v /etc/localtime:/etc/localtime -v /home/zhtj/rest_api/template_document_servers:/template_document_servers -p 34566:8888 -p 34567:9001 -p 34568:8000 -p 34569:6379 -p 34570:8001 -p 34571:22 --name  template_document_servers-python_3.10.11 -i -t  template_document_servers/python:3.10.11 /bin/bash

进入docker容器中。
修改docker容器中/etc/ssh/sshd_config文件

#LoginGraceTime 2m
#PermitRootLogin prohibit-password
PermitRootLogin yes  // 增加这一行,是允许以root身份登陆
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

然后在docker中重启ssh服务,使ssh配置文件更改生效service ssh restart
使用passwd修改docker容器的root的密码,修改完后需要重启容器使之生效。我就设置为123456,容易记忆。
在这里插入图片描述
然后在容器外(宿主机)上测试ssh连接是否生效。

ssh root@127.0.0.1 -p 34571  // 34571是之前映射22端口

在这里插入图片描述

配置pycharm连接

创建连接

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

设置实时自动双向同步

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置远程解释器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PyCharm提供了一种方便的远程调试功能,可以帮助你在远程服务器上调试你的代码。下面是进行远程调试的步骤: 1. 配置远程服务器:在PyCharm中,打开"Preferences"(或"Settings")窗口,然后选择"Build, Execution, Deployment" -> "Deployment"。点击"+"按钮添加一个新的远程服务器配置,并填写相关信息,例如主机名、端口、用户名和密码等。 2. 配置远程Python解释器:在"Preferences"(或"Settings")窗口中,选择"Project" -> "Python Interpreter"。点击右上角的设置图标,选择"Add..."来添加一个新的远程解释器。选择"SSH Interpreter"并选择之前配置的远程服务器。按照提示填写相关信息,例如Python解释器路径和远程路径映射等。 3. 配置远程调试:在PyCharm中,打开你要调试的项目。点击菜单栏中的"Run" -> "Edit Configurations...",然后点击"+"按钮添加一个新的远程调试配置。选择"Python Remote Debug",并填写相关信息,例如主机名和端口等。 4. 启动远程调试:在PyCharm中,点击菜单栏中的"Run" -> "Debug 'your_configuration_name'"来启动远程调试会话。PyCharm会连接到远程服务器,并在调试模式下运行你的代码。 5. 设置断点:在你想要调试的代码行上设置断点。当程序运行到这个断点时,会暂停执行并进入调试模式,你可以逐步执行代码并观察变量的值。 这样,你就可以在PyCharm中进行远程调试了。希望对你有所帮助!如果有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值