使用Vagrant搭建跨平臺的Python開發環境

jopen 9年前發布 | 36K 次閱讀 Vagrant Python開發

最近升級了Win10之后感覺系統萌萌噠,不過也可惜了自己之前花費很大力氣搭建的開發環境。由于最近跨平臺的需求比較大,就考慮搭建一套跨平臺的開發環境。

Vagrant

Vagrant是一個相對輕量級的虛擬機管理軟件,根據官方的說明:

(Vagrant) Create and configure lightweight, reproducible, and portable development environments.

所以選擇了Vagrant來管理開發環境。Vagrant的下載和安裝非常的容易,在它的官方網站https://www.vagrantup.com/downloads.html 中下載需要的版本即可。

Virtual Box

Vagrant本身并不包含虛擬機管理軟件,因此我們需要配合Vagrant安裝一個虛擬機軟件。Vagrant支持VMware, Virtual Box, Hyper-V 等多種虛擬機軟件,我選擇的是Virtual Box。 免費,跨平臺。

Virtual Box的安裝也非常的容易,官方網站下載即可,在此就不再贅述了。

Tips:為什么有了虛擬機軟件還需要使用Vagrant?

因為簡單的虛擬機并不能滿足我們的需要,我們希望一個新的環境,開機就幫我們解決了一切。使用Vagrant可以方便的幫助我們在搭建系統之后,自動的管理端口映射/軟件包安裝等等問題。

同時,更重要的,Vagrant還可以方便的設定同步文件夾,讓我們在宿主機內對程序的修改,可以方便的同步到客戶機,在調試程序時,這是一個非常優秀的特質。

選擇客戶機系統

Vagrant 的客戶機可以支持多種系統,具體支持那些,可以前往 https://atlas.hashicorp.com/boxes/search 查看,我選擇的是Ubuntu 14.04 x64的版本,也就是https://atlas.hashicorp.com/ubuntu/boxes/trusty64 這個版本。

如果你沒有其他的需求,僅僅是需要一個干凈的ubuntu,選擇好之后在一個文件夾里執行vagrant init ubuntu/trusty64即可初始化一個Ubuntu 14.04 x64的虛擬機。

使用Vagrant搭建跨平臺的Python開發環境

此時文件夾中會出現一個Vagrantfile的文件,就是這個客戶機的配置文件了。

修改配置文件

修改配置文件主要有兩個目的,一是配置端口映射,使我們可以從宿主機的端口去訪問客戶機,另一個目的是使得客戶機在系統加載完成時執行一個Shell腳本來安裝所需要的程序文件。

Vagrant會默認初始化一個端口映射為guest:22, host:2222也就是說客戶機的22端口,將被映射到宿主機的2222端口。

修改端口映射

我們在Vagrantfile文件內找到

# config.vm.network "forwarded_port", guest: 80, host: 8080 

這一行,去掉#號,并按照我們的需要來修改端口號,我的設置如下:

config.vm.network "forwarded_port", guest: 5000, host: 15000 

這樣就設置了客戶機的5000端口轉發到宿主機的15000端口,或者說宿主機的15000端口將轉發到客戶機的5000端口。

加載配置腳本

Vagrant可以設置一個配置腳本,以方便我們來設定配置:找到

  # config.vm.provision "shell", inline: <<-SHELL
  #   sudo apt-get update
  #   sudo apt-get install -y apache2
  # SHELL

這幾行,將其修改為

config.vm.provision "shell", path: "python_env.sh" 

表面首次啟動后,將找到python_env.sh并執行。我們就可以通過設定這個腳本來完成配置不同的環境,我的配置如下:

echo "---------------------Upgrading System......---------"  
sudo rm -R /var/lib/apt/lists/*  
sudo apt-get update -y  
sudo apt-get upgrade -y  
sudo apt-get build-dep python  
echo "---------------------Upgrading System......---------"  
wget -c https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz  
tar -xzvf Python-2.7.9.tgz  
cd Python-2.7.9/  
LDFLAGS="-L/usr/lib/x86_64-linux-gnu" ./configure  
make  
sudo make install  
echo "---------------------Checking Installation-----------"  
python --version  
echo "---------------------Setting pip---------------------"  
sudo apt-get install build-essential  
sudo apt-get install python-dev  
sudo apt-get install python-pip -y  
echo "---------------------Upgrading pip-------------------"  
sudo pip install --upgrade pip

此時的目錄如下:

使用Vagrant搭建跨平臺的Python開發環境

啟動

這一切做好之后,我們就可以啟動客戶機了。在目錄下執行vagrant up

使用Vagrant搭建跨平臺的Python開發環境

配置環境中,可以看到已經在執行Shell腳本,更新系統了。這個時候只需要默默等待就好... 使用Vagrant搭建跨平臺的Python開發環境

開始使用

Vagrant在啟動之后會為我們創建一個Private Key以供登陸,你可以直接在Windows的命令行下輸入vagrant ssh來進行SSH的操作,也可以像我一樣,使用其他的客戶端。我使用MobaXterm作為Windows下的SSH Client。

使用Vagrant搭建跨平臺的Python開發環境

輸入之后,即可進入到開發環境中。

同步文件夾

不妨在終端中輸入cd /vagrant和ls,你看到了什么?

使用Vagrant搭建跨平臺的Python開發環境

沒錯,我們之前在Windows中創建的python_env.sh和Vagrantfile赫然出現在了客戶機中。這就是同步文件夾了。該文件夾和Windows中的對應文件夾同步。

這樣,我們就可以輕松的在虛擬機中進行操作了。

來自:http://fermi.fantasist.cc/2015/07/31/shi-yong-vagrantda-jian-kua-ping-tai-de-pythonkai-fa-huan-jing/

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!