Pycharm远程连接服务器(windows下远程修改服务器代码)
2016-12-16 13:09
1341 查看
http://blog.csdn.net/duankaifei/article/details/41898641
配置连接服务器,name随便写,connection下,协议sftp,服务器主机IP,用户名,密码,apply
点击Test SFTP connection会发现,如果连接成功会提示你如下:
下面选择连接windows下的那部分代码和服务器上代码相连,Mappings,本地Local path,服务器path,apply,OK,表示已经把本地的代码和服务器代码连接上了。
设置如何使得本地代码和服务器代码同步更新,如图,
如下图,选择On explicit save action(ctrl +s)表示在pycharm里修改代码后ctrl+s便可同步到服务器。
在pycharm里tools->start ssh session可以使用ssh,使用ssh时候发现打开中文乱码,在settings里修改,如下图:
完美的解决!!!
http://blog.csdn.net/pipisorry/article/details/52269952
PyCharm提供两种远程调试(Remote Debugging)的方式:
配置远程的解释器(remote interpreter)
配置Python调试服务器(Python Debug Server)[配置Python调试服务器]
本文主要说明远程的解释器(remote interpreter)的配置。
皮皮blog
打开pycharm,File -> Settings…( Ctrl + Alt + s ) -> Deployment
点击 + 按钮,添加一个
设置连接
设置好IP、端口、用户名、密码, root path:/home/piting/mine/python_workspace, 就是打开remote host时候看到的运程主机的根目录。
路径的解释:
右击项目名称,可以看到下拉菜单中多了一些选项,可以都试试,同步到远程服务器,这样就可以在本地开发,在Linux上运行了,非常方便
Deployment相关设置
tools > deployment > automatic upload(always)
这样就可以在侧边栏找到远程目录,图形化界面上传和下载。
皮皮blog
尤其是对于 windows 的机器调试 Linux 服务器端的程序。如果你是在 Windows 上使用 PyCharm 等 IDE 快速方便地进行开发,但是由于管理端使用了一些公司的公共组件,而这些组件又只提供了 Linux 上的 Python 接口,因此必须在 Linux 上运行 Django 程序。值得庆幸的是,大多数的 IDE 都提供了远程调试功能, PyCharm 也可以经过简单配置进行远程调试。
或者也可以使用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 中打开部署的设置面板,路径为 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
在 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 手段来解决。
这时就可以打断点调试啦
A: 调试时 PyCharm 调用将 Python Debug Server (pydevd.py) 绑定在一个随机端口上,再使用 SSH 的端口转发将数据通过 SSH 端口转到 Debug Server 去。需要检查你的 sshd 配置 (默认是 /etc/ssh/sshd_config) 是否禁用了 TCP 转发 (AllowTcpFowarding),这个配置默认是打开的。
皮皮blog
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远程开发]
[Deployment in PyCharm]
http://www.xuebuyuan.com/1859105.html
作为一个从java转到python的程序猿,一直觉得python的远程代码调试能力不如java,远程调试一把需要各种改代码,牵扯到eventlet库的时候,问题就更严重,需要调整eventlet的各种配置,算了还是不用远程调试了,太麻烦。
返璞归真,直接用日志输出打出想要的变量,但是改了本地代码,再上传到服务器运行调试,流程也不够便利,没办法本人太懒。
后来发现Pycharm本身就提供了一个Deployment工具,可以直接整合上述流程,将本地代码和服务器代码做一个映射,然后修改本地代码时,自动或手动上传服务器同步,然后通过Pycharm的SSH Terminal重启进程验证。
好了,废话少说,来看看怎么配置:
1、菜单->Tools->Deployment->Configuration
2、添加需要连接的服务器,填入ip,用户名和密码,我用的是SFTP协议
3、配置代码映射,例如将本地的keystone代码,映射到环境上的keystone安装目录/usr/lib64/python2.6/site-packages/keystone
4、配置自动上传修改的文件
菜单->Tools->Deployment->Options,将“Upload changed files automatically
to the default server”改为 “On explicit save action”,然后你每次Ctrl+s的时候,修改的代码就自动上传了
5、运行SSH Terminal,Deployment配置好之后,直接运行SSH Terminal,就可以在Pycharm中,开一个SSH终端,直接重启进程、看日志啥的,很方便
2016年3月30日
Tags: openstack
PyCharm提供两种远程调试(Remote Debugging)的方式:
配置远程的解释器(remote interpreter)
配置Python调试服务器(Python Debug Server)
本文主要介绍Python Debug Server配置与使用。
(上图为Python Debug Server模型,仅供参考)
如上图所示,PyCharm远程调试方式的模型其实就是一个典型的Server/Client模型。模型左侧,Server服务运行在本地主机PyCharm中。配置Debug Server完成后就可以启动这个服务器。服务器启动后,就是等待Client客户端的接入。模型右侧,需要调试的Python程序通过调用pycharm-debug提供的
首先在Run/Debug Configuration中添加Python Remote Debug服务。
(上图为Python Debug Server配置流程)
注:服务器命名和IP地址是必须配置的。若端口没有配置,则在服务器启动时随机分配;若路径映射没有配置,则在客户端连接服务端成功后PyCharm再提示选择配置。
服务器启动后会提示以下信息:
其中,这两行代码需要嵌入到远程调试的Python代码中,这两行代码包含了服务器监听的IP地址和端口等信息。
参考模型中提到,远程主机需要配置
把
然后把上面提及的两行代码嵌入到需要调试的Python程序中。
调试方式比较简单,首先启动远程主机的程序,进入调试状态。然后返回本地主机的PyCharm界面进行调试。
(上图为本地主机PyCharm调试界面说明)
此步骤之前需要配置路径映射关系,即远程主机中的代码如何映射到本地主机中,本文用到的是win-sshfs工具,工具的使用方式就有时间再介绍。
https://www.jetbrains.com/pycharm/help/remote-debugging.html
优雅地调试OpenStack
1、写在前面
之前一致用putty,ssh,修改代码,或者本地修改,上传到服务器,各种不爽,现在改用xshell,但是有时候还是不方便感觉,于是自己配置了远程连接pycharm,这样不用总是到代码里修改,直接在windows下pycharm里修改再保存就可以实现同步更新到服务器里的代码里了。2、content
打开pycham,windows下连接服务器端如图所示:配置连接服务器,name随便写,connection下,协议sftp,服务器主机IP,用户名,密码,apply
点击Test SFTP connection会发现,如果连接成功会提示你如下:
下面选择连接windows下的那部分代码和服务器上代码相连,Mappings,本地Local path,服务器path,apply,OK,表示已经把本地的代码和服务器代码连接上了。
设置如何使得本地代码和服务器代码同步更新,如图,
如下图,选择On explicit save action(ctrl +s)表示在pycharm里修改代码后ctrl+s便可同步到服务器。
在pycharm里tools->start ssh session可以使用ssh,使用ssh时候发现打开中文乱码,在settings里修改,如下图:
完美的解决!!!
http://blog.csdn.net/pipisorry/article/details/52269952
PyCharm提供两种远程调试(Remote Debugging)的方式:
配置远程的解释器(remote interpreter)
配置Python调试服务器(Python Debug Server)[配置Python调试服务器]
本文主要说明远程的解释器(remote interpreter)的配置。
皮皮blog
pycharm 通过 SFTP 远程编辑项目的配置
{这个相当于代码同步,类似Git上传,同步后你可以在服务器上直接运行上传的代码;这个配置好后,才能在pycharm远程调试时候将代码上传到服务器正确位置/正确路径上}打开pycharm,File -> Settings…( Ctrl + Alt + s ) -> Deployment
点击 + 按钮,添加一个
设置连接
设置好IP、端口、用户名、密码, root path:/home/piting/mine/python_workspace, 就是打开remote host时候看到的运程主机的根目录。设置第二个标签页Mappings
设置本地路径和远程路径,本地路径最好是一个项目路径,直接映射到你想开发的项目中。路径的解释:
右击项目名称,可以看到下拉菜单中多了一些选项,可以都试试,同步到远程服务器,这样就可以在本地开发,在Linux上运行了,非常方便
Deployment相关设置
设置自动上传
每次都要去点击上传,虽然比较有选择性,但毕竟还是不方便,所以设置了自动上传tools > deployment > automatic upload(always)
查看远程目录
tools > deployment > browse remote host这样就可以在侧边栏找到远程目录,图形化界面上传和下载。
皮皮blog
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),这个配置默认是打开的。
皮皮blog
出错问题
pandas出错
pycharm console import pandas Backend Qt4Agg is interactive backend. Turning interactive mode on. : cannot connect to X serverimport 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远程开发]
[Deployment in PyCharm]
http://www.xuebuyuan.com/1859105.html
作为一个从java转到python的程序猿,一直觉得python的远程代码调试能力不如java,远程调试一把需要各种改代码,牵扯到eventlet库的时候,问题就更严重,需要调整eventlet的各种配置,算了还是不用远程调试了,太麻烦。
返璞归真,直接用日志输出打出想要的变量,但是改了本地代码,再上传到服务器运行调试,流程也不够便利,没办法本人太懒。
后来发现Pycharm本身就提供了一个Deployment工具,可以直接整合上述流程,将本地代码和服务器代码做一个映射,然后修改本地代码时,自动或手动上传服务器同步,然后通过Pycharm的SSH Terminal重启进程验证。
好了,废话少说,来看看怎么配置:
1、菜单->Tools->Deployment->Configuration
2、添加需要连接的服务器,填入ip,用户名和密码,我用的是SFTP协议
3、配置代码映射,例如将本地的keystone代码,映射到环境上的keystone安装目录/usr/lib64/python2.6/site-packages/keystone
4、配置自动上传修改的文件
菜单->Tools->Deployment->Options,将“Upload changed files automatically
to the default server”改为 “On explicit save action”,然后你每次Ctrl+s的时候,修改的代码就自动上传了
5、运行SSH Terminal,Deployment配置好之后,直接运行SSH Terminal,就可以在Pycharm中,开一个SSH终端,直接重启进程、看日志啥的,很方便
PyCharm远程调试
2016年3月30日Tags: openstack
PyCharm提供两种远程调试(Remote Debugging)的方式:
配置远程的解释器(remote interpreter)
配置Python调试服务器(Python Debug Server)
本文主要介绍Python Debug Server配置与使用。
Python Debug Server参考模型
(上图为Python Debug Server模型,仅供参考)
如上图所示,PyCharm远程调试方式的模型其实就是一个典型的Server/Client模型。模型左侧,Server服务运行在本地主机PyCharm中。配置Debug Server完成后就可以启动这个服务器。服务器启动后,就是等待Client客户端的接入。模型右侧,需要调试的Python程序通过调用pycharm-debug提供的
pydevd库,然后连接到服务端。这样,本地主机就可以使用PyCharm调试远程主机运行的Python程序了,调试的方法与直接调试本地Python程序一样。
Python Debug Server配置使用
1.服务端配置
首先在Run/Debug Configuration中添加Python Remote Debug服务。 (上图为Python Debug Server配置流程)
注:服务器命名和IP地址是必须配置的。若端口没有配置,则在服务器启动时随机分配;若路径映射没有配置,则在客户端连接服务端成功后PyCharm再提示选择配置。
服务器启动后会提示以下信息:
Starting debug server at port 51234 Use the following code to connect to the debugger: import pydevd pydevd.settrace('192.168.27.1', port=51234, stdoutToServer=True, stderrToServer=True) Waiting for process connection...
其中,这两行代码需要嵌入到远程调试的Python代码中,这两行代码包含了服务器监听的IP地址和端口等信息。
import pydevd pydevd.settrace('192.168.27.1', port=51234, stdoutToServer=True, stderrToServer=True)
2.客户端配置
参考模型中提到,远程主机需要配置pydev库。而提供库的源文件在PyCharm安装路径下的
debug-eggs目录中,其中
pycharm-debug.egg对应的是版本2,
pycharm-debug-py3k.egg对应的是版本3。
把
pycharm-debug.egg文件复制到远程主机,然后通过easy_install命令安装。 PS:复制的方法有多种,通过ssh可以传输文件,注意权限问题。
$ sudo easy_install pycharm-debug.egg
然后把上面提及的两行代码嵌入到需要调试的Python程序中。
#demo.py
print "remote debug"
#嵌入服务器信息的代码,进入调试状态
import pydevd pydevd.settrace('192.168.27.1', port=51234, stdoutToServer=True, stderrToServer=True)print "code need to debug"
#离开调试模式
pydevd.stoptrace()
3.调试方式
调试方式比较简单,首先启动远程主机的程序,进入调试状态。然后返回本地主机的PyCharm界面进行调试。$ python demo.py remote debug
(上图为本地主机PyCharm调试界面说明)
此步骤之前需要配置路径映射关系,即远程主机中的代码如何映射到本地主机中,本文用到的是win-sshfs工具,工具的使用方式就有时间再介绍。
参考
https://www.jetbrains.com/pycharm/help/remote-debugging.html优雅地调试OpenStack
相关文章推荐
- Pycharm远程连接服务器(windows下远程修改服务器代码)
- Pycharm远程连接服务器(windows下远程修改服务器代码)
- Pycharm远程连接服务器(windows下远程修改服务器代码)
- Pycharm2017.1.4连接远程服务器调试代码
- windows版本的mysql无法远程连接服务器上的mysql的问题,错误代码10060
- Windows下pycharm远程连接服务器调试-tensorflow无法加载问题
- PyCharm 配置远程python解释器和在本地修改服务器代码
- Windows 2008 R2(64位)+VS2010+ASP.net远程连接Oracle服务器(64位)
- windows远程连接本地与服务器直接文件拷贝的方法
- windows 2012 服务器打开ping端口,开通远程连接
- Win8开启远程桌面连接windows的服务器
- 修改linux ssh和windows 远程连接 监听端口
- windows 2003 server 记录远程桌面的连接登录日志和修改3389连接端口
- windows 2003 server 记录远程桌面的连接登录日志和修改3389连接端口方法 收藏
- windows版本的mysql无法远程连接的问题,错误代码10060
- 树莓派个人实测 Q&A(最新修改使用windows连接远程桌面)
- 修改windows 2012/win8、win7远程桌面连接默认端口的方法
- 修改Windows远程终端默认端口,让服务器更安全
- 使用远程桌面连接Windows 2003 & 2008服务器详细图文教程
- windows 远程连接端口修改