Pycharm学习教程(7)虚拟机VM的配置教程


Posted in Python onMay 04, 2017

设想这样一种情况,你在一个平台上操作你的工程,但你希望在另外一个平台上完善并运行它,这就是为什么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

(3)将一下这些可执行文件添加到环境变量中

Vagrant安装文件下的vagrant.bat文件,这部分工作应该由安装程序自动完成

Oracle's VirtualBox安装文件下的VBoxManage.exe文件。

确保Pycharm的Vagrant插件可用:单击主工具栏中的设置按钮,在设置对话框中打开 Plugins页面,显示插件默认可用:

Pycharm学习教程(7)虚拟机VM的配置教程

至此准备工作完成,正式开始。

2、创建一个虚拟的virtual box

在设置对话框中(单击主工具栏的设置按钮),单击 Vagrant界面,然后输入可执行文件路径以及实例路径。

如果框架已经预先定义好,以上选项就会出现在一个下拉列表中,从中选择一个即可:

Pycharm学习教程(7)虚拟机VM的配置教程

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

Pycharm学习教程(7)虚拟机VM的配置教程

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

Pycharm学习教程(7)虚拟机VM的配置教程

至此你已经新建了一个virtual box并已经将其添加到了当前环境中。

注意Tool 菜单下的Vagrant 命令,这个命令与标准的Vagrant行为相关联。

一旦创建了Vagrant box,就需要在工程存根下对其进行初始化。在主菜单上单击Tools | Vagrant,选择 Init in Project Root:

Pycharm学习教程(7)虚拟机VM的配置教程

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

Pycharm学习教程(7)虚拟机VM的配置教程

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

Pycharm学习教程(7)虚拟机VM的配置教程

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

Pycharm学习教程(7)虚拟机VM的配置教程

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

Pycharm学习教程(7)虚拟机VM的配置教程

3、在虚拟机上配置远程解释器

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

Pycharm学习教程(7)虚拟机VM的配置教程

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

Pycharm学习教程(7)虚拟机VM的配置教程

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

Pycharm学习教程(7)虚拟机VM的配置教程

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

Pycharm学习教程(7)虚拟机VM的配置教程

将其设置为默认解释器:

Pycharm学习教程(7)虚拟机VM的配置教程

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

Pycharm学习教程(7)虚拟机VM的配置教程

接下来我们通过SSH来登录virtual box。

4、链接SSH终端机

为什么需要登录呢?因为Pycharm要求你这么做。

在主菜单中选择Tools | Run SSH Terminal,如果你定义了不止一个主机(host),则选择一个你想要建立链接的(我们这里选择远程解释器):

Pycharm学习教程(7)虚拟机VM的配置教程

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

Pycharm学习教程(7)虚拟机VM的配置教程

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

Pycharm学习教程(7)虚拟机VM的配置教程

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

Pycharm学习教程(7)虚拟机VM的配置教程

大功告成。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
安装python3的时候就是输入python3死活没有反应的解决方法
Jan 24 Python
python自动截取需要区域,进行图像识别的方法
May 17 Python
用Django写天气预报查询网站
Oct 21 Python
Python3内置模块之json编解码方法小结【推荐】
Dec 09 Python
Python-while 计算100以内奇数和的方法
Jun 11 Python
pandas中的series数据类型详解
Jul 06 Python
python urllib爬虫模块使用解析
Sep 05 Python
Python数据库小程序源代码
Sep 15 Python
Python 3.8 新功能大揭秘【新手必学】
Feb 05 Python
深入浅析python的第三方库pandas
Feb 13 Python
基于python图像处理API的使用示例
Apr 03 Python
Django 解决model 反向引用中的related_name问题
May 19 Python
python 统计代码行数简单实例
May 04 #Python
利用PyInstaller将python程序.py转为.exe的方法详解
May 03 #Python
Pycharm学习教程(6) Pycharm作为Vim编辑器使用
May 03 #Python
利用numpy+matplotlib绘图的基本操作教程
May 03 #Python
利用matplotlib+numpy绘制多种绘图的方法实例
May 03 #Python
Pycharm学习教程(5) Python快捷键相关设置
May 03 #Python
python中解析json格式文件的方法示例
May 03 #Python
You might like
PHP base64+gzinflate压缩编码和解码代码
2008/10/03 PHP
分享一个php 的异常处理程序
2014/06/22 PHP
THINKPHP3.2使用soap连接webservice的解决方法
2017/12/13 PHP
tp5递归 无限级分类详解
2019/10/18 PHP
js 新浪的一个图片播放图片轮换效果代码
2008/07/15 Javascript
JavaScript判断变量是否为undefined的两种写法区别
2013/12/04 Javascript
js实现iframe自动自适应高度的方法
2015/02/17 Javascript
JS实现的鼠标跟随代码(卡通手型点击效果)
2015/10/26 Javascript
jQuery点击头像上传并预览图片
2017/02/23 Javascript
深入理解基于vue-cli的vuex配置
2017/07/24 Javascript
bootstrap-table实现服务器分页的示例 (spring 后台)
2017/09/01 Javascript
vue2.0使用v-for循环制作多级嵌套菜单栏
2018/06/25 Javascript
vue-cli配置环境变量的方法
2018/07/09 Javascript
vue打包相关细节整理(小结)
2018/09/28 Javascript
JavaScript寄生组合式继承原理与用法分析
2019/01/11 Javascript
基于layui轮播图满屏是高度自适应的解决方法
2019/09/16 Javascript
浅析vue中的nextTick
2020/12/28 Vue.js
python服务器端收发请求的实现代码
2014/09/29 Python
Python递归遍历列表及输出的实现方法
2015/05/19 Python
Python和Perl绘制中国北京跑步地图的方法
2016/03/03 Python
Python之父谈Python的未来形式
2016/07/01 Python
python复制列表时[:]和[::]之间有什么区别
2018/10/16 Python
python实现简单多人聊天室
2018/12/11 Python
Python实现删除排序数组中重复项的两种方法示例
2019/01/31 Python
利用Django模版生成树状结构实例代码
2019/05/19 Python
python模块导入的方法
2019/10/24 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
2020/09/20 Python
受希腊女神灵感的晚礼服、鸡尾酒礼服和婚纱:THEIA
2018/04/15 全球购物
有机童装:Toby Tiger
2018/05/23 全球购物
Quiksilver美国官网:始于1969年的优质冲浪服和滑雪板外套
2020/04/20 全球购物
大学毕业自我评价
2014/02/02 职场文书
2015年考研复习计划
2015/01/19 职场文书
证婚人婚礼致辞
2015/07/28 职场文书
详解CocosCreator项目结构机制
2021/04/14 Javascript
Pytorch 中net.train 和 net.eval的使用说明
2021/05/22 Python
CSS 实现角标效果的完整代码
2022/06/28 HTML / CSS