做为一个学习和使用Python的老司机,好像应该常常总结一点东西的,让新司机尽快上路,少走弯路,而后你们一块儿愉快的玩耍。
今天,我们就使用vagrant配合xshell打造一站式Python开发测试环境。python
让你在Windows下,也能愉快的使用Linux环境调试Python。linux
适用人群:Python新手和但愿在Windows下使用Linux环境调试Python的小伙伴们。shell
难度:super easyubuntu
最终效果:只用一个xshell终端(其余相似的均可以),启动ubuntu虚拟机,python2和python3环境任意切换,自带与Windows共享的文件夹。centos
默认提供vagrant共享文件夹,快速在ubuntu环境测试python代码bash
本地和ubuntu系统均可以编辑修改,实时同步代码编辑器
启动虚拟环境以前,不须要单独开启vmvare或virtualbox等,直接在shell环境命令搞定!ide
vagrant的虚拟环境更轻,占用更少内存,带来同样的虚拟化效果学习
迁移方便,直接打包box文件,复制粘贴就好测试
新建虚拟环境方便,在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
vagrant@vagrant-ubuntu-trusty-64:~$ 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
这里就是本地和虚拟机共享路径。
vagrant@vagrant-ubuntu-trusty-64:~$ lsvagrant@vagrant-ubuntu-trusty-64:~$ cd /vagrant vagrant@vagrant-ubuntu-trusty-64:/vagrant$ lsubuntu-trusty-64.boxVagrantfile vagrant@vagrant-ubuntu-trusty-64:/vagrant$ touch test.py vagrant@vagrant-ubuntu-trusty-64:/vagrant$ lstest.py ubuntu-trusty-64.boxVagrantfile
测试一下文件夹共享,到Windows中查看,是否是多了test.py文件:
固然,在这里,你能够用你喜欢的任何编辑器,打开编辑,再回到ubuntu中查看,实时同步的哦!
请记住,ubuntu14版本是支持多个版本的。
python一下看看,默认应该是2.7,试试python3,你应该看见python3.4的界面了。
1 vagrant@vagrant-ubuntu-trusty-64:/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 vagrant@vagrant-ubuntu-trusty-64:/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的路上,你并不孤独!