老司机带你用vagrant打造一站式python开发测试环境

前言

作为一个学习和使用Python的老司机,好像应该经常总结一点东西的,让新司机尽快上路,少走弯路,然后大家一起愉快的玩耍。 
今天,咱们就使用vagrant配合xshell打造一站式Python开发测试环境。

目的

让你在Windows下,也能愉快的使用Linux环境调试Python。

  • 适用人群:Python新手和希望在Windows下使用Linux环境调试Python的小伙伴们。
  • 难度:super easy
  • 最终效果:只用一个xshell终端(其他类似的都可以),启动ubuntu虚拟机,python2和python3环境任意切换,自带与Windows共享的文件夹。

好处

  1. 默认提供vagrant共享文件夹,快速在ubuntu环境测试python代码
  2. 本地和ubuntu系统都可以编辑修改,实时同步代码
  3. 启动虚拟环境之前,不需要单独开启vmvare或virtualbox等,直接在shell环境命令搞定!
  4. vagrant的虚拟环境更轻,占用更少内存,带来一样的虚拟化效果
  5. 迁移方便,直接打包box文件,复制粘贴就好
  6. 新建虚拟环境方便,在add box后,可以新建文件夹,直接在里面init box名,然后vagrant up快速启动新环境

步骤

注意:请先根据我的下载链接,下载好所有需要的软件。

vagrant套装下载路径: 
链接:http://pan.baidu.com/s/1hsLNOvM 密码:4698

1.安装virtualbox 
都是直接下一步,具体过程略。

2.安装vagrant,这里完成后需要重启电脑,请提前关闭保存重要程序和数据 
注意:重启时候请到boot界面看一下是否已经开始cpu虚拟化,一般是按F2,或F12,或直接delete,具体请根据自己电脑品牌决定,比如联想台式机就是F12。 
如果早就安装过其他虚拟机,且可以正常运行,请忽略这步.

3.安装xshell 
或其他终端软件,略。选个自己喜欢的就行了。

4.使用vagrant安装ubuntu

4.1 使用已有的box镜像(推荐) 
在xshell默认的终端新建文件夹,比如ubuntu作为虚拟机的路径,注意这里直接就是你可以进行数据同步的路径!

新建文件夹,这里我是在c盘根目录下,建立vaVms\ubuntu64
 

然后把ubuntu-trusty-64.box拷贝到当前文件夹,cmd命令进入当前文件夹: 

[C:\vaVms\ubuntu64]$ dir

驱动器 C 中的卷是新加卷

卷的序列号是 CC79-1BF3

C:\vaVms\ubuntu64 的目录

2016/07/0717:51<DIR>.

2016/07/0717:51<DIR>..

2016/07/0717:48484,678,037 ubuntu-trusty-64.box

1个文件484,678,037字节

2个目录57,693,339,648可用字节

  

添加镜像文件:

 1 [C:\vaVms\ubuntu64]$ vagrant box add ubuntu64 ubuntu-trusty-64.box 2  3 ==> box:Box file was not detected as metadata.Adding it directly... 4  5 ==> box:Adding box ‘ubuntu64‘(v0)for provider: 6  7 box:Unpacking necessary files from: file://C:/vaVms/ubuntu64/ubuntu-trusty-64.box 8  9 box:10 11 ==> box:Successfully added box ‘ubuntu64‘(v0)for‘virtualbox‘!

查看已经添加到本地的镜像文件:

[C:\vaVms\ubuntu64]$ vagrant box list

ubuntu64 (virtualbox,0)

初始化镜像,这里就是在当前文件夹新建启动文件Vagrantfile

[C:\vaVms\ubuntu64]$ vagrant init ubuntu64

A `Vagrantfile` has been placed inthis directory.You are now

ready to `vagrant up` your first virtual environment!Please read

the comments in the Vagrantfileas well as documentation on

`vagrantup.com`for more information on usingVagrant.

启动虚拟机

[C:\vaVms\ubuntu64]$ vagrant up

然后你会看见后几行有提示,告诉你哪个端口可以登录这台机器 比如

default:Forwarding ports...default:22(guest)=>2222(host)(adapter 1)==>default:Booting VM...==>default:Waitingfor machine to boot.This may take a few minutes...

default: SSH address:127.0.0.1:2222

然后在xshell中选择文件-新建,然后依次输入主机名,比如va-ubuntu,主机127.0.0.1,端口2222,然后选择这个界面左边树状图的用户验证节点,输入用户名密码,都是vagrant,点击最下面确定,然后连接这台机器。 哈哈哈,就可以看见效果了! 
 

补充 
如果是启动第二个,第二个其他box,2222的端口会自动分配成2200,2201,2202之类的,连接时需要注意。在vagrant up后会看见类似这样的提示:

==>default:Fixed port collision for22=>2222.Now on port 2203.==>default:Clearing any previously set network interfaces...==>default:Preparing network interfaces based on configuration...

default:Adapter1: nat==>default:Forwarding ports...

default:22(guest)=>2203(host)(adapter 1)

你可以建立n个需要的系统: 

4.2 在线下载box镜像(上面成功了就可以忽略这一步,这里是自己在线下载镜像用的。)

 ubuntu

vagrant init ubuntu/trusty64

vagrant up --provider virtualbox

 centos6

vagrant init bento/centos-6.7vagrant up --provider virtualbox

 centos7

vagrant init bento/centos-7.2vagrant up --provider virtualbox

5.愉快的测试python

[email protected]:~$ df -h

FilesystemSizeUsedAvailUse%Mounted on

udev 241M12K241M1%/dev

tmpfs 49M348K49M1%/run/dev/sda1 40G1.6G37G5%/none 4.0K04.0K0%/sys/fs/cgroup

none 5.0M05.0M0%/run/lock

none 245M0245M0%/run/shm

none 100M0100M0%/run/user

none 150G99G51G67%/vagrant

这里就是本地和虚拟机共享路径。

[email protected]:~$ [email protected]:~$ cd /vagrant

[email protected]:/vagrant$ lsubuntu-trusty-64.boxVagrantfile

[email protected]:/vagrant$ touch test.py

[email protected]:/vagrant$ lstest.py ubuntu-trusty-64.boxVagrantfile

测试一下文件夹共享,到Windows中查看,是不是多了test.py文件: 
 
当然,在这里,你可以用你喜欢的任何编辑器,打开编辑,再回到ubuntu中查看,实时同步的哦!

比如sublime打开编辑: 
 
运行? 
当然更没问题了! 

请记住,ubuntu14版本是支持多个版本的。 
python一下看看,默认应该是2.7,试试python3,你应该看见python3.4的界面了。

 1 [email protected]:/vagrant$ python 2  3 Python2.7.6(default,Jun222015,17:58:13) 4  5 [GCC 4.8.2] on linux2 6  7 Type"help","copyright","credits"or"license"for more information. 8  9 >>>10 11 [email protected]:/vagrant$ python312 13 Python3.4.3(default,Oct142015,20:28:29)14 15 [GCC 4.8.4] on linux16 17 Type"help","copyright","credits"or"license"for more information.18 19 >>>

ok,就到这里吧,祝你玩的愉快! 
相信我,学习Python的路上,你并不孤独!

时间: 2024-10-15 00:07:13

老司机带你用vagrant打造一站式python开发测试环境的相关文章

十年建站老司机带你十分钟搭建网站

本文概要: 1. 域名 + 域名注册 + 域名备案 + 域名解析绑定 2. 服务器 + 虚拟主机 + windows服务器 + linux服务器 3. CMS建站系统 4. 总结 在如今互联网发展迅速猛进的大环境下,网站已经成为一个企业不可缺少的网络媒介.但网站开发行业鱼龙混杂,质量参差不齐,价格更是跨越区间大.尤其对于那些在建站方面不懂的小白来说,很容易被人坑,所以作为在网站开发行业摸爬滚打多年的草根老司机,通过本文向大家分享建站的经验与心得,避免不必要的弯路和成本损耗. Come on! 小

Vagrant 打造跨平台的开发环境

两个项目开发下来,因团队环境不一样,整合修bug成为了一件苦差事.虽然后来搭建了一台测试服务器,但是有时候受网络原因,还是不能连接到测试服务器上.因团队成员能力和习惯都不一样,有的使用windows,有的钟爱ubuntu环境开发,虽然可以各自搭建虚拟机,但是涉及到环境工具插件等安装也会导致环境出现差别.这样的问题明显跟团队协作背道而驰,不符合程序员的逻辑,肯定有相应的办法解决.这办法就是Vagrant,而且vagrant是open source的. step1:安装虚拟机支持环境:Virtura

老司机带你在MySQL领域“大吉大利,晚上吃鸡”

老张superzs来更新博客啦,大家新年好啊,好久没有跟大家见面了.说句走心的话,很想你们!最近因为要出版自己的第一本书<MySQL王者晋级之路>一直在忙于宣传.实在抱歉,没能及时更博.今后还是会多奉献精彩文章! 最近绝地求生这个游戏太火了,当我问我的朋友们你们闲时在干嘛,基本上告诉我的答案都是在"吃鸡"啊!想必很多老铁们也玩,那一定应该知道绝地求生中有把枪叫AWM.此枪伤害裸132点,爆头330,即使三级头爆头必死,无防弹衣或者防弹衣有破损,一枪死.是这个游戏中威力最大的

Jmeter 老司机带你一小时学会Jmeter

Jmeter的安装   官网下载地址:http://jmeter.apache.org/download_jmeter.cgi 作为Java应用,是需要JDK环境的,因此需要下载安装JAVA,并且作必要的的环境变量配置. 一.bin目录 examples: 目录中有CSV样例 jmeter.bat/jmeter.sh  windows的启动文件/linux的启动文件,通过编辑可以修改Jmeter启动时候的JVM参数等等 jmeter.log jmeter运行日志文件 jmeter.propert

老司机带你攻破微信消息防撤回功能

前言: 微信聊天的时候,一疏忽竟然错过了什么,对方撤回了一条消息,一位小妹妹给你发了一张不可描述的照片,下一秒她又后悔选择了撤回.那么到哪去寻找撤回的消息呢?难道我们就不能做点什么? 就在昨天,我的一位好友壳子@ZKeeer 使用itchat库做了小脚本写了一篇文章:初学python--微信防撤回功能改进(一个用处不大的功能) - 知乎专栏,在得到壳子的授权之后,我对他的代码进行了修改,并把代码包装成了可执行的exe文件用来造福更多有需要的朋友们. 这个工具暂时我们教叫它:wMsg wMsg能实

老司机带你探知存储伸缩之道,赶紧上车,来不及了!

王炎,2013年加入腾讯架构平台部,从事分布式存储平台的开发和运营.目前负责冷数据存储的相关研发工作,主要应对云存储数据快速增长场景下,持续完善分级存储系统,优化总体存储成本. 一.概要 腾讯分布式文件存储(TFS)的数据量在短短数年时间里从0增加至EB级别,使用了几十万块磁盘,增长速度非常迅猛.另外,TFS承载的几乎都是互联网在线存储业务,需要在保证业务正常访问的情况下经常性快速扩容.在这种情况下,存储系统的伸缩性显得尤为重要,扩容过程的高效.稳定就成为必须要解决的问题. 下面介绍TFS平台实

初窥wordcloud之老司机带你定制词云图片

抓紧上车啦 #-*-coding:utf-8 -*- from os import path from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator #用来画词云的. import matplotlib.pyplot as plt #用来解析特殊的图片模板,numpy也可以的. from scipy.misc import imread #第一步读你要制作成词云的源文件,少年记得用'r'去读,手抖用了次'w+'结果文件让我清

躺好,老司机带你收割小米机器人

在第二期大米体验师活动期间,我们收到了许多大米云用户精心撰写的稿件. 内容大多是他们在工作.创业中和大米云发生的故事. 虽然没有离奇的事件,没有煽情的文字.但是,每每阅读稿件时,我们都会微微泪目,低头沉吟:原来,我们早已和这些用户并肩同行,即便没有会面,没有交谈,漫漫梦想之路,我们用最好的默契,搀扶着彼此,共同前行. 大米的产品宗旨是为创业者和开发者提供更好的云产品,同时希望有更多优秀体验师与大米一起改变云计算,让云计算在创业者们实现创业理想的过程中助力. 因此, 第三期大米云主机体验师活动如期

老司机带你用MaxCompute和表格存储玩转车联网数据

原文链接 "自动驾驶汽车"在近两年频频出现于各大科技新闻头条,自2012年谷歌获得美国首个自动驾驶汽车许可证以来,国外各大知名汽车厂商如奔驰.沃尔沃.大众.通用.丰田.日产.特斯拉等也纷纷宣布自己的自动驾驶汽车验证开发计划.自动驾驶依托于人工智能技术的发展,而对于一个人工智能平台来说,重要的不光是算法和平台,更重要的是数据!今天我们暂且不聊自动驾驶,我们先聊聊最基础的车联网数据的存储与处理. 初始方案 出于对两客一危监管的需要,车联网很早就开始起步,彼时大家的车联网方案都长这个样子: