Pycharm中进行Python远程开发
http://blog.csdn.net/pipisorry/article/details/52269952
PyCharm提供两种远程调试(Remote Debugging)的方式:
配置远程的解释器(remote interpreter)
配置Python调试服务器(Python Debug Server)[配置Python调试服务器]
本文主要说明远程的解释器(remote interpreter)的配置。
pycharm 通过 SFTP 远程编辑项目的配置
{这个相当于代码同步,类似git上传,同步后你可以在服务器上直接运行上传的代码;这个配置好后,才能在pycharm远程调试时候将代码上传到服务器正确位置/正确路径上}
打开pycharm,File -> Settings…( Ctrl + Alt + s ) -> Deployment
点击 + 按钮,添加一个
设置连接
设置好IP、端口、用户名、密码, root path:/home/piting/mine/python_workspace, 就是打开remote host时候看到的运程主机的根目录。
Note: Root path 如/home/piting/mine/python_workspace这个路径要在远程服务器上存在,否则并不会自动创建和同步。
设置第二个标签页Mappings
设置本地路径和远程路径,本地路径最好是一个项目路径,直接映射到你想开发的项目中。
路径的解释:
右击项目名称,可以看到下拉菜单中多了一些选项,可以都试试,同步到远程服务器,这样就可以在本地开发,在linux上运行了,非常方便
Deployment相关设置
设置自动上传
每次都要去点击上传,虽然比较有选择性,但毕竟还是不方便,所以设置了自动上传
tools > deployment > automatic upload(always)
查看远程目录
tools > deployment > browse remote host
这样就可以在侧边栏找到远程目录,图形化界面上传和下载。
pycharm 远程调试
{这个是本地编辑代码,扔到远端服务器上执行,然后 debug 结果本地显示[其实也添加了deployment功能]}
尤其是对于 windows 的机器调试 Linux 服务器端的程序。如果你是在 Windows 上使用 PyCharm 等 IDE 快速方便地进行开发,但是由于管理端使用了一些公司的公共组件,而这些组件又只提供了 Linux 上的 Python 接口,因此必须在 Linux 上运行 Django 程序。值得庆幸的是,大多数的 IDE 都提供了远程调试功能, PyCharm 也可以经过简单配置进行远程调试。
配置远程 Python 解释器
lz使用anaconda在服务器上搭建了一个python开发环境。因为没有root权限问题。
或者也可以使用python virtualenv搭建的虚拟开发环境,所以是先将ubuntu_env配置好的env上传到服务器上scp -r ./ubuntu_env/ root@192.168.0.111:/home/pipi/ENV[ssh用法及命令 ],再修路径实现python在服务器上的配置的[python虚拟环境virtualenv安装和配置]。
在 PyCharm 中打开 Python 解释器的设置面板,路径为 File => Settings (Ctrl+Alt+S) => Python Interpreter:
点击右上角齿轮,Add Remote,填写 SSH 相关的设置
做完后可能需要等一些时间。这个过程中 PyCharm 会将一些工具和调试 Server 发到你配置的 .pycharm_helper 目录中,并且对机器上已经安装的库类生成 skeletons,并传回 Windows 上进行保存。Python skeletons 是一些包括库类 API 定义的文件,用来给 PyCharm 做代码静态分析。JetBrains 的帮助文档提供了更详细的说明,参见 Important Note 一节。
最后,你需要在解释器设置面板,选中 Remote Interpreter 做为项目的默认解释器。
配置部署信息
{这个就是上面的pycharm 通过 SFTP 远程编辑项目的配置,直接用就可以}
在 PyCharm 中打开部署的设置面板,路径为 Tool => Deployment => Configuration。
Type 建议选择 SFTP,常见的 OpenSSH Server 提供了这种协议的支持。
第二个 Tab (Mappings) 需要填写部署的路径,注意这个路径对应你项目的根目录,所以你很可能需要为它建一个空文件夹。勾选上 “Use this server as default”。除此之外还有个 Web path 的设置,应该是用来配置网页上查看文件的服务,可以无视。
配置好部署面板后,建议把自动同步开启 (Tool => Deployment => Automatics Upload(always)),这样在 PyCharm 中对文件进行修改,可以马上同步到 Linux 上。同时建议先做一次同步。
同步可以通过很多方式完成,比如在 Project 面板 (Alt+1) 上对项目根目录右键 “Upload to”,也可以在菜单中上传 (Tool => Deployment => Upload to)。如果菜单中 Upload to 不可点击,请尝试打开项目的一个 py 文件,并把焦点放在编辑器中。
在deployment mapping标签项中设置好路径后才能在project interpreter中看到自动设置的path mapping
配置运行配置
{如果不使用django,这个可以不用配置}
在 PyCharm 中打开运行配置面板,路径为 Run => Run/Debug Configurations:
如果你发现你的运行配置中没有 Django 相关的项,请在项目设置的 Django 中勾选 Enable Django Support。
运行配置的设置有两点需要注意。Python Interpreter 需要选中之前建立的远程解释器。Path mappings 处,需要把本机的 manage.py 与 Linux 上的关联起来,比如:
C:/Evolution/Python/django_website/manage.py <=> /home/onlyice/work/django_website/manage.py
这可能是 PyCharm 的 bug:在使用远程解释器后,PyCharm 并不会自动将 Django 运行配置中的 manage.py 文件定位到 Linux 上的那份,而是会尝试使用下面的命令来启动 Django 调试 Server:
/usr/bin/python2 manage.py C:/Evolution/Python/django_website/manage.py
自然就找不到文件了。所以使用了 Path mappings 作为一种 hack 手段来解决。
这时就可以打断点调试啦
Trouble Shooting
Q: 点击调试运行失败,显示 “Cant set remote tunneling”
A: 调试时 PyCharm 调用将 Python Debug Server (pydevd.py) 绑定在一个随机端口上,再使用 SSH 的端口转发将数据通过 SSH 端口转到 Debug Server 去。需要检查你的 sshd 配置 (默认是 /etc/ssh/sshd_config) 是否禁用了 TCP 转发 (AllowTcpFowarding),这个配置默认是打开的。
出错问题
pycharm channel is not opened
pycharm不能同步deployment中设置的文件内容了,在remote host窗口中打开文件提示the file is identical to local但实际上完全不同,上传多次才能成功,或者干脆就提示channel is not opened。应该和sftp有关。
目前还没找到具体原因,可能是服务器问题,过会就自己好了。
也可能是pycharm的问题,或者系统的问题?希望解决的可以留言告知一下,谢谢!
[Can't Download From Remote Server via SFTP – JetBrains IntelliJ]
pandas出错
pycharm console import pandas Backend Qt4Agg is interactive backend. Turning interactive mode on. : cannot connect to X server
import pandas : cannot connect to X server
重启pycharm,或者也不知道怎么了就好了,不报错了。。。
运行出错
ssh://piting@192.168.0.172:22/home/piting/ENV/anaconda3/bin/python3 -u /home/piting/mine/python_workspace/Oth/Competition/TianChi/Regression.py
/home/piting/ENV/anaconda3/bin/python3: can't open file '/home/piting/mine/python_workspace/Oth/Competition/TianChi/Regression.py': [Errno 2] No such file or directory
点出remote host标签,发现没有这个目录,目录下也没有这个文件
解决:
mkdir -p 代码目录
再在remote host中右键 》 upload here
from: http://blog.csdn.net/pipisorry/article/details/52269952
ref: [PyCharm Remote Debugging 指南]
[pycharm奇淫技巧]*
Pycharm中进行Python远程开发的更多相关文章
- 【转】windows和linux中搭建python集成开发环境IDE
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- windows和linux中搭建python集成开发环境IDE——如何设置多个python环境
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- pycharm中选择python interpreter
pycharm中选择python interpreter pycharm中有两处地方需要选择python解释器: 一处是调试配置(edit configurations)处,这里选择python解释器 ...
- Python学习笔记(Django篇)——1、环境搭建篇(如何在Pycharm中配置Python和Django)
1.准备好以下东东,并且按照先后顺序进行安装: Python 3.6 (64-bit) Django-1.11.tar.gz pycharm-community-2016.3.2.exe 安装好了 ...
- 转-Pycharm中运行Python代码的几种方式
转自:Pycharm中运行Python代码的几种方式 在pycharm中的Python代码运行会出现各种奇葩的问题,比如,密码输入时不显示或没有提示,给我们带来一些麻烦,下面介绍几种代码运行的几种方式 ...
- Pycharm中运行Python代码的几种方式
在pycharm中的Python代码运行会出现各种奇葩的问题,比如,密码输入时不显示或没有提示,给我们带来一些麻烦,下面介绍几种代码运行的几种方式: 一.直接运行(Run按钮或者快捷键shift+F1 ...
- vscode连接云服务,搭建Python远程开发
配置Python远程开发环境前提 配置步骤 1.windows 10 开发机配置 win10 1809后支持ssh ssh-keygen -t rsa -b 4096 #会显示生成到的目录C:\Use ...
- Python 远程开发环境部署与调试
一.下载相应开发工具 Pycharm :下载地址 二.部署开发机 一般在工作过程中,开发环境并不是本地环境,而是指在开发机:因为,有很多依赖本地部署非常麻烦,而开发机中则内置了很多相关的服务 三.代 ...
- pycharm安装,svn使用,远程开发调试,接口测试,连接服务器
磨刀不误砍柴工,配置完美的编辑器,在开发时,能帮助我们节约大量的时间成本,从而是我们的精力放在业务逻辑实现上面! 接下来将介绍 使用pyhcarm如何使用svn,远程开发调试,接口测试,已经连接远程服 ...
随机推荐
- ios开发- 利用运行时(runtime)字典转模型
现在的ios开发中,我们通常会使用MVC模式.当我们拿到数据的时候,我们要把数据转成模型使用. 一般情况我们拿到的数据都是字典.这是我们就需要将字典转成模型对象了. 当对象的属性很少的时候,我们可以直 ...
- [CEOI2008]order
Description 有N个工作,M种机器,每种机器你可以租或者买过来. 每个工作包括若干道工序,每道工序需要某种机器来完成,你可以通过购买或租用机器来完成. 现在给出这些参数,求最大利润 Solu ...
- AtCoder Beginner Contest 071 D - Coloring Dominoes
Problem Statement We have a board with a 2×N grid. Snuke covered the board with N dominoes without o ...
- 毕业设计-JSP论文盲审系统
之前做的一款jsp的论文盲审系统,ssh框架的,学生提交论文,系统管理员将论文分配给教员,教员在不知学员是谁的情况之下,对论文进行打分,然后提交给系统,最后系统发布成绩,供学员查看. 整体做的还不错, ...
- Redis设置Key的过期时间 – EXPIRE命令
EXPIRE key seconds 为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除. 操作key对生存时间的影响 生存时间可以通过使用 DEL 命令来删除整个 ...
- Redis Cluster集群主从方案
本文介绍一种通过Jedis和Cluster实现Redis集群(主从)的高可用方案,该方案需要使用Jedis2.8.0(推荐),Redis3.0及以上版本(强制). 附:Redis Cluster集群主 ...
- 电子凭证 : Java 生成 Pdf
来源:蛙牛, my.oschina.net/lujianing/blog/894365 如有好文章投稿,请点击 → 这里了解详情 1.背景 在某些业务场景中,需要提供相关的电子凭证,比如网银/支付宝中 ...
- junit4.9测试用例 spring测试用例 Assert 注解
junit4.9测试用例 测试基类 import org.junit.runner.RunWith; import org.springframework.test.context.ContextCo ...
- Python小代码_1_九九乘法表
Python小代码_1_九九乘法表 max_num = 9 row = 1 while row <= max_num: col = 1 while col <= row: print(st ...
- Docker学习系列(一)Docker简介
简介 Docker是一个在全球范围领先的软件容器平台.开发人员可以使用容器来在协作过程中遇到的解决"不同环境配置"的问题.(例如,在传统的开发环境下,开发人员编写代码,然后交由测试 ...