pycharm之远程开发
转载: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之远程开发的更多相关文章
- 使用pycharm进行远程开发部署调试设置 与 远程部署调试是否必须使用远程主机的解释器?
远程开发部署调试目的: 配置pycharm远程部署调试主要用于本地代码与远程服务器上的代码进行同步,使得本地代码经过修改后,可以很容易的同步到远程服务器上.同时设置pycharm的解释器为远程服务器的 ...
- PyCharm进行远程开发和调试linux服务器
简介: 或许我也应该迁移到linux环境去开发. 最近写的一些小东西,在wnidows上开发,在windows上调试,都很正常.可是一旦放进linux服务器,就歇菜了. 那么我们有什么办法处理这个wi ...
- Flask15 远程开发环境搭建、安装虚拟机、导入镜像文件、创建开发环境、pycharm和远程开发环境协同工作
1 安装VM虚拟机 待更新... 2 导入镜像文件 待更新... 3 启动虚拟机 4 远程连接虚拟机 4.1 安装xShell软件 待更新... 4.2 创建一个新的连接 4.2.1 在虚拟机中获取虚 ...
- PyCharm远程开发和调试
PyCharm进行远程开发 1.背景 在Windows开发Python或Web应用程序,但是它们最后需要在linux上面来运行 2.解决办法 2.1 使用PyCharm内置支持的Vagrant 2.2 ...
- Pycharm连接远程服务器并保持文件夹同步
pycharm版本2021 服务器版本 Ubuntu 18 1.连接远程服务器 xxx这部省略了,因为之前就已经连接上了hh,后面用到再补充. 2.保持文件夹同步 1.首先在本地(windows环境创 ...
- pycharm安装,svn使用,远程开发调试,接口测试,连接服务器
磨刀不误砍柴工,配置完美的编辑器,在开发时,能帮助我们节约大量的时间成本,从而是我们的精力放在业务逻辑实现上面! 接下来将介绍 使用pyhcarm如何使用svn,远程开发调试,接口测试,已经连接远程服 ...
- Pycharm中进行Python远程开发
http://blog.csdn.net/pipisorry/article/details/52269952 PyCharm提供两种远程调试(Remote Debugging)的方式: 配置远 ...
- Pycharm 连接Linux 远程开发
Pycharm 连接Linux 远程开发 在Liunx上安装python3.6(Ubuntu16) 下载Python-3.6.4.tgz 解压 tar -xzvf Python-3.6.4.tgz 进 ...
- PyCharm远程开发配置及一些问题的解决方案
PyCharm远程开发配置 具体请参考:https://www.jianshu.com/p/79df9ac88e96 Tips:必须要安装PyCharm专业版 实践过程中遇到的问题 背景 因项目需要, ...
- 本地ubuntu下pycharm 如何利用远程开发环境时显示图片
最近使用pycharm远程开发tensorflow,每次在想显示图像时,苦于不知怎么操作,就通过保存后再看结果,使得调试很不方便.今天打算解决这个问题,收获也是很多啊. 我首先参考了这两篇博客: ht ...
随机推荐
- [Udemy] AWS Certified Data Analytics Specialty - 3.Processing
Lambda Lambda 经常起胶水的作用,就是粘合不同的service. 如下图例子 另外Requirement #1 也是一个例子,还有Requirement #3 除了Kinesis Data ...
- KernelWarehouse:英特尔开源轻量级涨点神器,动态卷积核突破100+ | ICML 2024
动态卷积学习n个静态卷积核的线性混合,加权使用它们输入相关的注意力,表现出比普通卷积更优越的性能.然而,它将卷积参数的数量增加了n倍,因此并不是参数高效的.这导致不能探索n>100的设置(比典型 ...
- 大一下的acm生活
在一个名气不大的211学校刷题的日常. 感觉这些算法题好难啊! 最近有好多实验室要招新,不知道该怎么办,自己只想就业,并不想升学,好烦! 真枯燥,好无聊. 现在要学习相关的网页设计和网站建设,例如配色 ...
- 【翻译】实现 Blocked Floyd-Warshall 用于解决所有对最短路径问题 C# 实现
介绍 在之前的帖子中,我们实现了Floyd-Warshall(弗洛伊德-沃沙尔算法)(四种变体)以及路由重建算法.在这些帖子中,我们探讨了所有对最短路径问题的基本概念.内存中的数据表示.并行性.向量化 ...
- Android10.0系统启动之Launcher(桌面)启动流程-[Android取经之路]
Launcher的启动经过了三个阶段: 第一个阶段:SystemServer完成启动Launcher Activity的调用 第二个阶段:Zygote()进行Launcher进程的Fork操作 第三个 ...
- Java日期时间API系列15-----Jdk8中java.time包中的新的日期时间API类,java日期计算2,年月日时分秒的加减等
通过Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析 ,可以看出java8设计非常好,实现接口Temporal, Tempora ...
- threejs - 渲染第一个3D场景 - 旋转的正方体
1. 安装 threejs & 使用 2. 创建三要素 场景 scene 相机 camera 渲染器 render 3. 场景 new THREE.Scene() 相机分为 2 种 1. ...
- DOM 的事件流
事件流分为三个阶段:捕获 ==>目标 ==>冒泡 1. 事件捕获阶段:事件传播由目标节点的祖先节点逐级传播到目标节点.先由文档的根 节点 document(window)开始触发对象,最后 ...
- markdown.css 设置文章的样式
返回的详情文章内容是标签加内容文字,使用 markdown,css 渲染样式 : .markdown-body .octicon { display: inline-block; fill: curr ...
- 小程序的button组件
button组件 按钮组件 功能比html的button按钮丰富 可以通过open-type属性可以调用微信提供的各种功能(客服,转发,获取用户权限,获取用户信息等): 按钮的属性 size 按钮的大 ...