pycharm远程调试python_PyCharm远程调试代码

pycharm远程调试python_PyCharm远程调试代码简介很多时候我们使用 PyCharm 都是进行本地开发 但是当你要调试服务器上的代码时怎么办 一种蠢方法就是将服务器上的代码下载到本地 编写完成后 再上传 看效果 这种方法是可行的 因为我此前就这样 很难受 感觉一天都在下载和上传 虽然麻烦 但是依旧可以解决问题 我就忍了 直到公司开发的项目要集成微信支付 因为微信支付要验证服务器的合法性 所以在配置微信时 要配置线上服务器的地址 而不能是本机地址 那

简介

很多时候我们使用PyCharm都是进行本地开发,但是当你要调试服务器上的代码时怎么办?一种蠢方法就是将服务器上的代码下载到本地,编写完成后,再上传,看效果,这种方法是可行的,因为我此前就这样,很难受,感觉一天都在下载和上传,虽然麻烦,但是依旧可以解决问题,我就忍了,直到公司开发的项目要集成微信支付,因为微信支付要验证服务器的合法性,所以在配置微信时,要配置线上服务器的地址,而不能是本机地址,那么此时线上报错了,你将代码拉到线下是无法复现这个错误的,所以必须在线上对代码进行调试。

这也是本章就系统的介绍如何通过PyCharm远程调试代码

PyCharm SFTP服务

要远程调试代码,那么就先要将代码上传到服务器上,那么上传的方式就有很多了,可以自己去网上下载相应的FTP上传软件,在Mac/Linux下也可以直接通过scp命令来将文件或文件夹上传都远程服务器,可以自行去scp官网了解一下,基本命令如下复制文件到远程服务器

$scp local_file remote_username@remote_ip:remote_folder

复制文件夹到远程服务器

$scp -r local_folder remote_username@remote_ip:remote_folder

从远程复制文件到本地目录

$scp root@10.6.159.147:/opt/soft/demo.tar /opt/soft/

从远程复制到本地

$scp -r root@10.6.159.147:/opt/soft/test /opt/soft/

其实PyCharm也提供了将本地代码上传到远程服务器的功能,PyCharm可以使用它的SFTP服务将我们需要上传的文件上传,可以在 Tool—>Deployment 进行配置

pycharm远程调试python_PyCharm远程调试代码

从图中可以看出,Upload相关的选项是灰色,这是因为你没有配置,我们选择Configuration,对PyCharm提供的SFTP进行简单的配置

pycharm远程调试python_PyCharm远程调试代码

点击左上角的加号,创建一个配置,将SFTP要链接的服务器路径、服务器用户名和密码都填上,最下面的Web server root URL 字段PyCharm会自动帮我们填写,简单的配置后,可以点击 Test SFTP connection… 按钮,判断SFTP是否可以成功链接服务器,如果返回Success,则表示服务器链接成功

接着还要配置一下本地代码上传到服务的路径,配置好这个,代码才会上传到相应的路径

pycharm远程调试python_PyCharm远程调试代码

配置完后,我们就可以进行上传了

pycharm远程调试python_PyCharm远程调试代码

PyCharm上传有个比较大的坑,就是你上传时要选中要上传的文件,如果要上传整个项目,就要选中整个项目,如果是上传单独的文件,就选中这个单独的文件

PyCharm远程Debug

光上传代码是不能进行调试,因为我们在PyCharm中运行项目使用的依旧是本地的Python解释器,依旧是在本地运行,那么此时对代码进行Debug跟线上的代码没有关系,线上的代码也没有启动,如果要远程Debug,要完成两个配置

1.配置PyCharm的Python解释器,使用服务器上的Python解释器

2.配置PyCharm的Debug功能,让PyCharm运行服务器上的代码

这里先做第一步,进入PyCharm的配置界面,选择Prjoect XXX—> Project Interpreter,配置Python解释器,点击⚙,如下图

pycharm远程调试python_PyCharm远程调试代码

然后选Add Remote,如果以后要选中本地不同的Python解释器,就选中Add Local

pycharm远程调试python_PyCharm远程调试代码

接着选中SSH Credentials,将远程服务器的地址、服务器的用户名和密码填上,然后在服务器中选择Python解释的路径,也就是 Python interpreter path

pycharm远程调试python_PyCharm远程调试代码

选中完后,点击OK,PyCharm就好将远程服务器上相应Python解释器的相关文件都同步下来,你需要等待一下,然后就会出现下面界面,观察Project Interpreter,它已经是远程服务器的Python环境了

pycharm远程调试python_PyCharm远程调试代码

这样第一步就完成了,接着来配置PyCharm中的Debug,如果不配置,那么Debug依旧会使用本地的Python解释器

打开PyCharm Debug的配置界面(Run–>Debug–>Edit Configuration…),然后配置一下当前项目下的Python interpreter,确保Debug使用远程服务器的Python解释器来运行代码

pycharm远程调试python_PyCharm远程调试代码

这里有点要注意,Debug配置界面中,Host要配置为0.0.0.0,有时候我们会将它配置成远程服务器的IP,如果配置成远程服务器的IP,会出现IP已经被分配的错误提示,如下

pycharm远程调试python_PyCharm远程调试代码

所有都配置完后,就可以进行Debug了,此时使用的就是远程的Python解释器,Debug的也是远程的Python代码,注意观察Debug的第一行,可以发送其通过SSH连接远程服务器

pycharm远程调试python_PyCharm远程调试代码

到这里我们就可以在远程调试代码了

同步远程数据库

那么有些Python项目,特别是web项目,不只是代码要上传到服务器,也要将数据库中的表同步到服务器,这里介绍一下使用 Navicat Premium 来快速完成这个需求

首先选中一个要同步数据的数据库,选择数据传输

pycharm远程调试python_PyCharm远程调试代码

进入数据传输界面,我们可以选择本地要传输的具体内容,比如是将所有的数据表都传输过去还是选择部分表,接着就是选择接受本地数据传输的接收端,也就会服务器对于的数据库

pycharm远程调试python_PyCharm远程调试代码

然后就可以进行传输了,速度非常快

pycharm远程调试python_PyCharm远程调试代码

结尾

到这里,你应该可以愉快的调试远端代码了

个人的公众号:懒写作,分享Python和一些个人的见解,学Python的同学可以关注一波

代码创造乐趣—ayuliao

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/173725.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月27日 上午8:09
下一篇 2026年3月27日 上午8:09


相关推荐

  • PyCharm入门教程——用户界面导览「建议收藏」

    PyCharm入门教程——用户界面导览「建议收藏」JetBrainsPyCharm是一种PythonIDE,其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。此外,该IDE提供了一些高级功能,以用于Django框架下的专业Web开发。通过这篇文章,您可以了解PyCharm用户界面是如何组织的,以帮助您在工作环境中找到自己的方式。当您第一次运行PyCharm或没有打开任何项目时,PyCharm将显示欢迎屏幕,允许快速…

    2022年8月28日
    6
  • Mutex对象使用时发现的问题

    Mutex对象使用时发现的问题Mutex对象等待互斥对象的方法有:Mutex.WaitAll、WaitOne、Mutex.WaitAny使用Mutex对象经常出现的异常现象有:异常一、 由于出现被放弃的mutex,等待过程结束原因:获取互斥对象后没有显式的释放对应的互斥对象就结束了对应的线程解决办法:每调用一个等待方法,在结束调用时都要调用ReleaseMutex()方法进行Mutex对象释放。而每种释

    2022年6月26日
    31
  • C++Vector使用方法

    C++Vector使用方法

    2021年11月14日
    60
  • idea 2021 2.3 激活码_在线激活

    (idea 2021 2.3 激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月29日
    328
  • 关于转置卷积(反卷积)的理解[通俗易懂]

    关于转置卷积(反卷积)的理解[通俗易懂]本文地址:https://blog.csdn.net/isMarvellous/article/details/80087705,转载请注明出处。什么是转置卷积(反卷积)?转置卷积(TransposedConvolution)又称为反卷积(Deconvolution)。在PyTorch中可以使用torch.nn.ConvTranspose2d()来调用,在Caffe中也有对应的层deco…

    2022年6月21日
    30
  • lc1d25m7c_通达信变盘指标

    lc1d25m7c_通达信变盘指标一、通达信日线*.day文件文件名即股票代码每32个字节为一天数据每4个字节为一个字段,每个字段内低字节在前00~03字节:年月日,整型04~07字节:开盘价*100,整型

    2022年8月5日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号