前言

作为一个学习和使用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可用字节

  

添加镜像文件:

 [C:\vaVms\ubuntu64]$ vagrant box add ubuntu64 ubuntu-trusty-.box

 ==> box:Box file was not detected as metadata.Adding it directly...

 ==> box:Adding box 'ubuntu64'(v0)for provider:

 box:Unpacking necessary files from: file://C:/vaVms/ubuntu64/ubuntu-trusty-64.box

 box:

 ==> box:Successfully added box 'ubuntu64'(v0)for'virtualbox'!

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

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

ubuntu64 (virtualbox,)

初始化镜像,这里就是在当前文件夹新建启动文件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:(guest)

=>(host)(adapter )

==>default:Booting VM...

==>default:Waitingfor machine to boot.This may take a few minutes...

default: SSH address:127.0.0.1:

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

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

==>default:Fixed port collision for22=>.Now on port .

==>default:Clearing any previously set network interfaces...

==>default:Preparing network interfaces based on configuration...

default:Adapter1: nat

==>default:Forwarding ports...

default:(guest)=>(host)(adapter )

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

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

• ubuntu

vagrant init ubuntu/trusty64

vagrant up --provider virtualbox

• centos6

vagrant init bento/centos-6.7

vagrant up --provider virtualbox

• centos7

vagrant init bento/centos-7.2

vagrant up --provider virtualbox

5.愉快的测试python

vagrant@vagrant-ubuntu-trusty-:~$ df -h

FilesystemSizeUsedAvailUse%Mounted on

udev 241M12K241M1%/dev

tmpfs 49M348K49M1%/run

/dev/sda1 40G1.6G37G5%/

none .0K04.0K0%/sys/fs/cgroup

none .0M05.0M0%/run/lock

none 245M0245M0%/run/shm

none 100M0100M0%/run/user

none 150G99G51G67%/vagrant

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

vagrant@vagrant-ubuntu-trusty-:~$ ls

vagrant@vagrant-ubuntu-trusty-:~$ cd /vagrant

vagrant@vagrant-ubuntu-trusty-:/vagrant$ ls

ubuntu-trusty-.boxVagrantfile

vagrant@vagrant-ubuntu-trusty-:/vagrant$ touch test.py

vagrant@vagrant-ubuntu-trusty-:/vagrant$ ls

test.py ubuntu-trusty-.boxVagrantfile

测试一下文件夹共享,到Windows中查看,是不是多了test.py文件:

当然,在这里,你可以用你喜欢的任何编辑器,打开编辑,再回到ubuntu中查看,实时同步的哦!

比如sublime打开编辑:

运行?
当然更没问题了!

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

 vagrant@vagrant-ubuntu-trusty-64:/vagrant$ python

 Python2.7.6(default,Jun222015,17:58:13)

 [GCC 4.8.2] on linux2

 Type"help","copyright","credits"or"license"for more information.

 >>>

 vagrant@vagrant-ubuntu-trusty-64:/vagrant$ python3

 Python3.4.3(default,Oct142015,20:28:29)

 [GCC 4.8.4] on linux

 Type"help","copyright","credits"or"license"for more information.

 >>>

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

来自为知笔记(Wiz)

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

  1. 老司机带你走进Core Animation

    为什么时隔这么久我又回来了呢? 回来圈粉. 开玩笑的,前段时间ipv6被拒啊,超级悲剧的,前后弄了好久,然后需求啊什么的又超多,所以写好的东西也没有时间整理.不过既然我现在回来了,那么这将是一个井喷的 ...

  2. 老司机带你开飞机 一: mssql on linux 安装指导

    通常在本机开发环境中需要搭建所有的服务,还要修改本地的hosts,实在是不胜其烦.如今有了docker,完全不用污染本地环境,且看老司机带你搭建一个asp.net core的开发环境集群.愿你走出虚拟 ...

  3. Kali Linux来袭~老司机带你进击

    Kali是BackTrackLinux完全遵循Debian开发标准彻底的完全重建.全新的目录框架,复查并打包所有工具,我们还为VCS建立了Git树. 本次推荐内容主要介绍Kali-Linux的安装,包 ...

  4. 老司机带你玩转面试(2):Redis 过期策略以及缓存雪崩、击穿、穿透

    前文回顾 建议前一篇文章没看过的同学先看下前面的文章: 「老司机带你玩转面试(1):缓存中间件 Redis 基础知识以及数据持久化」 过期策略 Redis 的过期策略都有哪些? 在聊这个问题之前,一定 ...

  5. 老司机带你玩转面试(3):Redis 高可用之主从模式

    前文回顾 建议前面文章没看过的同学先看下前面的文章: 「老司机带你玩转面试(1):缓存中间件 Redis 基础知识以及数据持久化」 「老司机带你玩转面试(2):Redis 过期策略以及缓存雪崩.击穿. ...

  6. 老司机带你玩转面试(4):Redis 高可用之哨兵模式

    前文回顾 建议前面文章没看过的同学先看下前面的文章: 「老司机带你玩转面试(1):缓存中间件 Redis 基础知识以及数据持久化」 「老司机带你玩转面试(2):Redis 过期策略以及缓存雪崩.击穿. ...

  7. 老司机带你玩转面试(5):Redis 集群模式 Redis Cluster

    前文回顾 建议前面文章没看过的同学先看下前面的文章: 「老司机带你玩转面试(1):缓存中间件 Redis 基础知识以及数据持久化」 「老司机带你玩转面试(2):Redis 过期策略以及缓存雪崩.击穿. ...

  8. vagrant打造自己的开发环境

    vagrant打造自己的开发环境 缘由: 在网上看到斌哥,爽神都写了关于vagrant的博客,都在说很强大,所以很好奇这玩意怎么个强大,然后也就自己来一发玩玩看看. 真实缘由: 说实话是电脑配置太低, ...

  9. 使用Vagrant搭建本地python开发环境

    使用Vagrant搭建本地python开发环境 关于vagrant:Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境,它使用Oracle的开源VirtualBox虚拟化系统也可以使 ...

随机推荐

  1. JS 一个修改ul的小示例

    javascript提供了innerHTML属性可以获取和设置对象的文本内容. 下面实例演示——单击<ul>下的<li>标签后,改变其显示值: 1.HTML结构 <ul  ...

  2. U - stl 的 优先队列 Ⅰ

    Description Given m sequences, each contains n non-negative integer. Now we may select one number fr ...

  3. HTML5图形绘制学习(1)-- Canvas 元素简介

    Canvas元素是HTML5中新增的一个专门用来进行图形绘制的元素.和其名称Canvas一样,它就相当于一个画布,我们可以在其上描绘各种图形. 这里所说的绘制图型,不是指我们可以进行可视化的图形绘制, ...

  4. 命名空间 - PHP手册笔记

    概述 命名空间是一种封装事物的方法.在很多地方都可以见到这种抽象概念,比如在操作系统中,目录用来将相关文件分组,对于目录中的文件来说,目录就扮演了命名空间的角色.这个原理应用到程序设计领域就是命名空间 ...

  5. git安装及使用简介

    从源代码安装 有人觉得从源码安装 Git 更实用,因为你能得到最新的版本. 二进制安装程序倾向于有一些滞后,当然近几年 Git 已经成熟,这个差异不再显著. 如果你想从源码安装 Git,需要安装 Gi ...

  6. lda模型的python实现

    LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,最近看了点资料,准备使用python实现一下.至于数学模型相关知识,某度一大堆,这里也给出之前参考过的一个挺详细 ...

  7. Linux下Nginx+PHP 简单安装配置

    测试环境 Linux 2.6.18nginx-1.0.4 http://www.nginx.org/php-5.3.6 http://www.php.net/ 一,安装Nginxwget http:/ ...

  8. 读<<代码整洁之道>>的感想

    花去了近一周的时间浏览一下这本书.总体感觉这本书写得不错. 我发现自己以前写的代码时多么的糟糕.有很多改进之处... 同时我也发现写出优秀的代码不易.优秀的代码不仅仅易读,并且易修改,易维护,程序易维 ...

  9. UbuntuOpenStack core componennts

    <1,keystone安装配置> 1,yum -y install openstack-keystone python-keystoneclient; 2,配置实用mysql存储keyto ...

  10. 关于CoreData的理解和使用.

    CoreData是苹果官方推出的一种方便的面向对象的存储方式,相信大家都已经对其有所了解,但是对于CoreData的概念大家都存在部分的误区.给大家推荐个网址是苹果的官方文档的翻译版(http://o ...