做爲一個學習和使用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的路上,你並不孤獨!