[Python] Remote debugging by Pycharm
From: http://blog.csdn.net/u013088062/article/details/50170551
虚拟环境配置
配置远程解释器
设想这样一种情况,你在一个平台上操作你的工程,但你希望在另外一个平台上完善并运行它,这就是为什么Pycharm做了很多工作来支持远程调试。
虚拟环境配置
在虚拟机上运行一个工程主要包含以下步骤:
(1)定义一个虚拟框架define a virtual box (2)需要在虚拟框架下配置一个远程的解释器configure a remote interpreter (3)在远程控制台加载当前工程launch your script in the remote console
1、准备工作
确定你的Pycharm已经拥有以下环境:
(1)安装了Oracle's Virtual Box (2)安装了Vagrant // <---- 可以用它来在单台物理机器编程管理多个虚拟机(vms) (3)将一下这些可执行文件添加到环境变量中 Vagrant安装文件下的vagrant.bat文件,这部分工作应该由安装程序自动完成 Oracle's VirtualBox安装文件下的VBoxManage.exe文件。
确保Pycharm的Vagrant插件可用:单击主工具栏中的设置按钮,在设置对话框中打开 Plugins页面,显示插件默认可用:

至此准备工作完成,正式开始。
2、创建一个虚拟的virtual box
在设置对话框中(单击主工具栏的设置按钮),单击 Vagrant界面,然后输入可执行文件路径以及实例路径。
如果框架已经预先定义好,以上选项就会出现在一个下拉列表中,从中选择一个即可:

如果当前没有合适的virtual box,则可通过单击绿色的加号来添加一个,输入框架名称和下载地址:

单击OK,Pycharm开始自动下载VM模板:

至此你已经新建了一个virtual box并已经将其添加到了当前环境中。
注意Tool 菜单下的Vagrant 命令,这个命令与标准的Vagrant行为相关联。
一旦创建了Vagrant box,就需要在工程存根下对其进行初始化。在主菜单上单击Tools | Vagrant,选择 Init in Project Root:

选择你准备初始化的Vagrant box:

此时会创建对应的Vagrantfile文件,可以根据要求对其进行更改:

初始化完成后,执行vagrant up命令(在Vagrant 菜单中选择Up 命令):

Pycharm会自动运行vagrant up 命令,并在控制台界面显示输出结果:

配置远程解释器
3、在虚拟机上配置远程解释器
再次打开设置对话框(单击主工具栏上的设置按钮),选择Project Interpreter页面,在这里你可以从下拉列表中选择一个对应的解释器,
但是如果当前没有可用的解释器,我们就需要单击Configure Interpreters来自定义一个:

此时会打开Python Interpreters界面,单击绿色的加号来选择一个远程的解释器:

在Configure Remote Python Interpreter 对话框中,需要进行服务器配置。这些设置可以手动设定,也可以从已经定义好的Vagrant配置文件中导入,在这里我们选择第二个方式。
单击 Fill from Vagrant configuration按钮,将会根据配置文件的内容自动填充相关设置属性值:

为了确认是否配置成功,单击Test connection... 按钮:

将其设置为默认解释器:

从现在开始我们就可以在VM虚拟机上运行所有的脚本工程了:

接下来我们通过SSH来登录virtual box。
4、链接SSH终端机
为什么需要登录呢?因为Pycharm要求你这么做。
在主菜单中选择Tools | Run SSH Terminal,如果你定义了不止一个主机(host),则选择一个你想要建立链接的(我们这里选择远程解释器):

观察Run tool window窗口的控制台运行信息:

现在你已经能够和virtual box进行直接交互了,首先我们先确认你的工程目录是否进行了完整映射。只需观察vagrant's默认的共享文件夹信息:

接下来运行一个可用的脚本文件,例如Solver.py:

大功告成。
[Python] Remote debugging by Pycharm的更多相关文章
- PyCharm 2017: Remote debugging using remote interpreter doesn't work
I set up a remote interpreter and verified that I can run a script using the remote interpreter. Con ...
- 在chrome 总调试cordova出现Detached from the target. Remote debugging has been terminated with reason: Connection lost. Please re-attach to the new target
在chrome 总调试cordova出现如下错误: "Detached from the target. Remote debugging has been terminated with ...
- 转:Remote debugging with Visual Studio 2010
Original URL http://www.codeproject.com/Articles/146838/Remote-debugging-with-Visual-Studio-2010 you ...
- python笔记:#003#PyCharm 的初始设置
PyCharm 的初始设置(知道) 目标 恢复 PyCharm 的初始设置 第一次启动 PyCharm 新建一个 Python 项目 设置 PyCharm 的字体显示 PyCharm 的升级以及其他 ...
- Remote Debugging (1)
The client/server design of the Java debugger allows you to launch a Java program from computer on y ...
- odoo开发环境搭建(四):python开发工具IDE pycharm配置
odoo开发环境搭建(四):python开发工具IDE pycharm配置
- JPDA and Set up Tomcat for Remote Debugging
* About JPDA (http://docs.oracle.com/javase/7/docs/technotes/guides/jpda/architecture.html) JPDA: (J ...
- 安卓手机移动端Web开发调试之Chrome远程调试(Remote Debugging)
一.让安卓打debug模式的apk包 二.将电脑中的chrome升级到最新版本,在chrome浏览器地址栏中输入chrome://inspect/#devices: 在智能手机还未普及时,移动设备的调 ...
- Python环境搭建和pycharm安装
Python环境搭建和pycharm安装 本人安装环境为Windows10系统,下载的Python版本为3.4社区版本,可参考 1.下载Python3.4版本 官网:https://www.pytho ...
随机推荐
- android: SQLite升级数据库
如果你足够细心,一定会发现 MyDatabaseHelper 中还有一个空方法呢!没错,onUpgrade() 方法是用于对数据库进行升级的,它在整个数据库的管理工作当中起着非常重要的作用,可 千万不 ...
- Java 多线程(2)-Executor
public interface Executor{ void executor(Runnable command); } 如上所写,Executor实际上是一个接口,他提供了唯一的接口方法execu ...
- IE6-IE11兼容性问题列表及解决办法总结
相比IE6-IE9那版,主要添加IE10和IE11的新变化. 以下是目录及下载链接: 目录 概述 2 第一章:HTML 3 第一节:IE7-IE8更新 3 1. 如果缺少结束标记的 P 元素后跟 TA ...
- golang全文搜索--使用sphinx
不多废话,测试环境 `ubuntu 13.10` ## 安装 sudo apt-get install sphinxsearch ## 配置 nano /etc/sphinxsearch/sphinx ...
- Erwin 生成 mysql 带注释(comment )的脚本
Erwin设计数据库非常方便,有逻辑视图和物理视图,可以很方便的生成数据库文档和SQL 脚本.在使用过程中唯一不爽的地方是脚本不能生成comment. 在百度无数次无法解决下,又FQ谷歌,在一个日 ...
- jedis:exception is java.lang.VerifyError: Bad type on operand stack
项目中需要用到缓存,经过比较后,选择了redis,客户端使用jedis连接,也使用到了spring提供的spring-data-redis.配置正确后启动tomcat,发现如下异常: ======== ...
- StringUtilsd的isEmpty、isNotEmpty、isBlank、isNotBlank
1. public static boolean isEmpty(String str) 判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0 下面是 Strin ...
- [原创]可动态显示圆形图像或圆形文字的AvatarImageView
项目地址: https://github.com/Carbs0126/AvatarImageView 前言: 在做电话本或者其他应用时,显示联系人头像的策略一般是这样的:先判断是否有头像图片,如果有, ...
- python问题:IndentationError:expected an indented block错误解决
Python语言是一款对缩进非常敏感的语言,给很多初学者带来了困惑,即便是很有经验的Python程序员,也可能陷入陷阱当中.最常见的情况是tab和空格的混用会导致错误,或者缩进不对,而这是用肉眼无法分 ...
- SAP ECC MM 配置文档
SAP ECC 6.0 Configuration Document Materials Management (MM) Table of Content TOC \o \h \z 1. Genera ...