转载: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. Angular Material 18+ 高级教程 – CDK Accessibility の ListKeyManager

    介绍 ListKeyManager 的作用是让我们通过 keyboard 去操作 List Items. 一个典型的例子:Menu 有 4 个步骤: tab to menu enter 打开 menu ...

  2. JavaScript – ECMAScript 版本

    参考 TC39.ECMA-262.ECMAScript 的一些事儿 简史 es3 千禧年后稳定版 es4 革命版本, 最后在 2008 年难产了 es5 2009 年推出, 拿了 es4 一些比较简单 ...

  3. ASP.NET Core C# 反射 & 表达式树 (第一篇)

    前言 以前就写过几篇关于反射和表达式树的学习笔记, 但是写的很乱. 最近常用到反射和表达式树, 所以特别写一篇做一个整理吧. 泛型和反射 表达式树 学习笔记 c# 常用反射和表达式树整理 反射在项目中 ...

  4. C++ STL list容器——链表

    list容器 简介 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的.链表由一系列节点组成,节点可以在运行时动态生成.每个节点包括两部分:一个是存储 ...

  5. Windows自动更新hosts(bat脚本方式)

    为了解决无法打开 github 网页的问题,才有了这个自动更新hosts 的命令脚本 hosts 里的内容会每日更新,内容从这里拿 文件:https://raw.hellogithub.com/hos ...

  6. Windows系统环境变量

    添加环境变量: 添加系统变量,机器要重新启动 添加用户变量,机器不用重启: 一般添加环境变量都添加在用户变量中,但只针对这一用户生效 为了使的所有用户都能正常使用软件,通常添加系统变量

  7. springboot整合shiro框架详解

    在ShiroRealm 中 对所有 引入的service 加上注解 @Lazy ,防止 事务回滚失败.具体原因看该文章 新增整合swagger2,因为之前整合了shiro,所以再访问swagger的时 ...

  8. PHP面试,Redis

    1. 什么是Redis? Redis(Remote Dictionary Server)是一个开源的内存数据存储系统,它可以用作数据库.缓存和消息中间件.它支持多种数据结构,如字符串.哈希.列表.集合 ...

  9. Js运算符(操作符)

    算数运算符 a = 1 + 1 // 2 a = 10 - 5 // 5 a = 10 / 5 // 2 a = 10 / 0 // js中除以0不会报错,结果是Infinity a = 2*2 // ...

  10. 在C#中使用适配器Adapter模式和扩展方法解决面向的对象设计问题

    之前有阵子在业余时间拓展自己的一个游戏框架,结果在实现的过程中发现一个设计问题.这个游戏框架基于MonoGame实现,在MonoGame中,所有的材质渲染(Texture Rendering)都是通过 ...