[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 ...
随机推荐
- spark spark ziliao important
http://book.51cto.com/art/201408/448416.htm 一.如何实现多台机器的ssh无密码登录 当我们在配置多台计算,使之可以相互使用无密码登录-ssh,之前都是一台一 ...
- SSD在SQLServer中的应用
一. 首先,回顾一下 SSD 的读写特性 (1)有限次数写: (2)随机读性能最好: (3)顺序读性能好: (4)顺序写性能差: (5) ...
- BigDecimal除法运算出现java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result的解决办法
BigDecimal除法运算出现java.lang.ArithmeticException: Non-terminating decimal expansion; no exact represent ...
- Python中is和==的区别
Python中有很多运算符,今天我们就来讲讲is和==两种运算符在应用上的本质区别是什么. 在讲is和==这两种运算符区别之前,首先要知道Python中对象包含的三个基本要素,分别是:id(身份标识) ...
- Scala 深入浅出实战经典 第57讲:Scala中Dependency Injection实战详解
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- 最近读的javascript,一些文章
本帖子是记录一些javascript的一些文章: 1. 理解node.js 2.异步编程 http://www.ruanyifeng.com/blog/2012/12/asynchronous%EF% ...
- Ques前端组件化体系
Ques是一套组件化系统,解决如何定义.嵌套.扩展.使用组件. 传统开发模式的痛点 无法方便的引用一个组件,需要分别引用其Javascript.Template.CSS文件 我们期望能以MV*的方式去 ...
- MVC的JsonResult用法
在Asp.net Mvc 2中由于对数据的保护,默认情况下request为post,所以在前端请求的时候则需要以post方式request action方法: public JsonResult Ge ...
- 解读Gartner《2015年度新兴技术成熟度曲线报告》
详细见:http://www.360doc.com/content/16/0209/16/26186435_533443133.shtml 今年的报告评估了112个领域超过2000项新型技术的市场类型 ...
- ecshop登陆后价格可见,会员注册登陆才能显示价格
打开模版文件夹里面的goods.dwt 查找{$lang.shop_price}<font class="price" id="ECS_SHOPPRICE" ...