转载:https://amos-x.com/index.php/amos/archives/pycharm-remote/

前言

远程开发什么意思?

远程开发就是用本地的个人电脑进行代码编写开发,但是代码运行和调试则是在远程服务器上。

这样做有什么好处?

这样可以避免本地环境对代码的影响,直接在服务器上开发,则可以更好的确保代码运行正常。就不受本地电脑配置的影响,避免应代码或服务吃太多资源导致本地电脑运行缓慢。

那怎么进行远程开发呢。下面就进行详细介绍。

 

正文

远程开发的前提条件,首先是需要有远程端,也就是远程服务器,这里我是centos7服务器。

首先,在Pycharm中创建或打开一个本地项目,要想远程开发,首先要将本地代码同步到远程服务器上。

配置远程服务器

添加了一个软件sftp的连接,也就是ssh的连接,这里不要️Visible only for this project。然后在root path 指定一个开发的目录即可。

 

连接远程,创建Python虚拟环境

在远程开发时,一般你会有一台开发机,很多项目都会在这个开发机上进行开发,那么自然就会用到虚拟环境来区分各个项目的环境。

不连接Python虚拟环境的,请看《Python 虚拟环境》

如上就可以打开一个远程的ssh命令行,就可以直接在pycharm中操作远程服务器。

# 然后在远程服务器上,创建项目目录和虚拟环境,项目名为ops_order_system
$ mkdir -p /data/amoswang/ops_order_system
$ cd /data/amoswang/ops_order_system
$ virtualenv venv

创建了虚拟环境后,这个虚拟环境就是项目在这个远程服务器上运行的python解释器。下面就需要在本地pycharm中新增一个解释器来指定为远程的这个venv虚拟环境。

 

设置远程python解释器

进入设置:

新增一个解释器,然后选择刚才上面设置的远程服务端

如上,这里需要选择上面创建的虚拟环境中的python作为python解释器,然后还要设置文件同步的位置,设置为上面我们创建的项目文件夹。这里️自动上传更新至远程服务器,这里也可以选择不自动更新上传。则可以如下,右键手动进行上传:

如上,在配置完了python解释器后,选择应用此解释器后,如果勾选了自动上传,那么就会开始自动上传项目到远程服务器,待文件上传完成,远程开发的设置就完成了。

 

简单使用介绍

在设置了远程开发的所有配置后,创建的虚拟环境默认是没有什么第三方包的,这时候就要安装,安装可以通过pycharm的配置中进行安装:

也可以通过ssh连接,开一个远程的ssh命令窗口,然后进入虚拟环境来使用pip进行安装,也推荐此中办法,更灵活,比如:

在配置了远程开发后,直接在本地运行python文件,会使用远程的服务器上虚拟环境的python解释器进行运行,所以就可以当成本地开发一样就行开发调试运行。这样就运行服务等就不会太吃本地PC资源,也不会受本地环境的影响。

而且,除了能同步本地文件的更新到远程上,也可以下载远程上的变成到本地,比如你程序生成的文件,如日志,就可以从远程上下载同步到本地中。手动下载如下:

pycharm之远程开发的更多相关文章

  1. 使用pycharm进行远程开发部署调试设置 与 远程部署调试是否必须使用远程主机的解释器?

    远程开发部署调试目的: 配置pycharm远程部署调试主要用于本地代码与远程服务器上的代码进行同步,使得本地代码经过修改后,可以很容易的同步到远程服务器上.同时设置pycharm的解释器为远程服务器的 ...

  2. PyCharm进行远程开发和调试linux服务器

    简介: 或许我也应该迁移到linux环境去开发. 最近写的一些小东西,在wnidows上开发,在windows上调试,都很正常.可是一旦放进linux服务器,就歇菜了. 那么我们有什么办法处理这个wi ...

  3. Flask15 远程开发环境搭建、安装虚拟机、导入镜像文件、创建开发环境、pycharm和远程开发环境协同工作

    1 安装VM虚拟机 待更新... 2 导入镜像文件 待更新... 3 启动虚拟机 4 远程连接虚拟机 4.1 安装xShell软件 待更新... 4.2 创建一个新的连接 4.2.1 在虚拟机中获取虚 ...

  4. PyCharm远程开发和调试

    PyCharm进行远程开发 1.背景 在Windows开发Python或Web应用程序,但是它们最后需要在linux上面来运行 2.解决办法 2.1 使用PyCharm内置支持的Vagrant 2.2 ...

  5. Pycharm连接远程服务器并保持文件夹同步

    pycharm版本2021 服务器版本 Ubuntu 18 1.连接远程服务器 xxx这部省略了,因为之前就已经连接上了hh,后面用到再补充. 2.保持文件夹同步 1.首先在本地(windows环境创 ...

  6. pycharm安装,svn使用,远程开发调试,接口测试,连接服务器

    磨刀不误砍柴工,配置完美的编辑器,在开发时,能帮助我们节约大量的时间成本,从而是我们的精力放在业务逻辑实现上面! 接下来将介绍 使用pyhcarm如何使用svn,远程开发调试,接口测试,已经连接远程服 ...

  7. Pycharm中进行Python远程开发

    http://blog.csdn.net/pipisorry/article/details/52269952 PyCharm提供两种远程调试(Remote Debugging)的方式:    配置远 ...

  8. Pycharm 连接Linux 远程开发

    Pycharm 连接Linux 远程开发 在Liunx上安装python3.6(Ubuntu16) 下载Python-3.6.4.tgz 解压 tar -xzvf Python-3.6.4.tgz 进 ...

  9. PyCharm远程开发配置及一些问题的解决方案

    PyCharm远程开发配置 具体请参考:https://www.jianshu.com/p/79df9ac88e96 Tips:必须要安装PyCharm专业版 实践过程中遇到的问题 背景 因项目需要, ...

  10. 本地ubuntu下pycharm 如何利用远程开发环境时显示图片

    最近使用pycharm远程开发tensorflow,每次在想显示图像时,苦于不知怎么操作,就通过保存后再看结果,使得调试很不方便.今天打算解决这个问题,收获也是很多啊. 我首先参考了这两篇博客: ht ...

随机推荐

  1. 在stable diffussion中完美修复AI图片

    无论您的提示和模型有多好,一次性获得完美图像的情况很少见. 修复小缺陷的不可或缺的方法是图像修复(inpainting).在这篇文章中,我将通过一些基本示例来介绍如何使用图像修复来修复缺陷. 需要的软 ...

  2. Ollama + JuiceFS:一次拉取,到处运行

    今天这篇博客转载自我们的全栈工程师朱唯唯.在使用 Ollma 进行大模型加载时,她尝试使用了 JuiceFS 进行模型共享,JuiceFS 的数据预热和分布式缓存功能显著提升了加载效率,优化了性能瓶颈 ...

  3. 如何使用 Redis 实现后台房间的数据管理?

    ​  ​摘要:利用 Redis 实现房间业务管理的实践与思考. 文|即构业务后台开发团队 在一些互动场景中,比如语音聊天室.电商直播等,成员控制.连麦.献花.发弹幕等互动功能,通常要求后台服务器能够储 ...

  4. 使用Hexo主题搭建个人博客(markdown)

    依赖环境 安装node.js:node.js下载可以从其官方界面开始https://nodejs.org/zh-cn/ 安装git:git下载则可以从其官方界面开始https://git-scm.co ...

  5. 常回家看看之house_of_emma

    house_of_emma 前言: 相比较于house_of_kiwi(house_of_kiwi),house_of_emma的手法更加***钻,而且威力更大,条件比较宽松,只需要lagebin_a ...

  6. SQL Server – Work with JSON

    前言 JSON 是一个很好的格式, array, object 就能表达一个表格了. 如果想保存一些结构格式, 又不想用表格这么大费周章的话, JSON 会是很好选择. 比如我用它来记入 Audit ...

  7. docker安装运行kafka单机版

    这里我们安装一下kafka的单机版,由于kafka是基于zk进行管理的,如果我们没有安装过zk的话,需要进行安装好zk再安装kafka,当然如果已经安装过了, 那就没必要安装了.我们可以执行docke ...

  8. Vue3.5中解构props,让父子组件通信更加丝滑

    前言 在Vue3.5版本中响应式 Props 解构终于正式转正了,这个功能之前一直是试验性的.这篇文章来带你搞清楚,一个String类型的props经过解构后明明应该是一个常量了,为什么还没丢失响应式 ...

  9. webpack 5.88.2

    原理 webpack的运行过程大致可以分为以下几个步骤:webpack的运行过程实际上就是等待上一个钩子结束调用下一个钩子的过程 初始化:webpack接收命令行参数或配置文件,创建一个Compile ...

  10. MyBatisPlus——简介

    概述 MyBatisPlus(简称MP)是基于MyBatisPlus框架基础上开发的增强型工具,旨在简化开发.提高效率 国内开发的技术 特性 无侵入:只做增强不做改变,不会对现有工程产生影响 强大的C ...