阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

使用Vagrant搭建跨平台的Python开发环境

445次阅读
没有评论

共计 3157 个字符,预计需要花费 8 分钟才能阅读完成。

最近升级了 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 /vagrantls,你看到了什么?

使用 Vagrant 搭建跨平台的 Python 开发环境

没错,我们之前在 Windows 中创建的 python_env.sh 和 Vagrantfile 赫然出现在了客户机中。这就是同步文件夹了。该文件夹和 Windows 中的对应文件夹同步。

这样,我们就可以轻松的在虚拟机中进行操作了。

如何使用 vagrant 在虚拟机安装 Hadoop 集群 http://www.linuxidc.com/Linux/2013-04/82750.htm

Vagrant 中高效的 Puppet 模块管理 http://www.linuxidc.com/Linux/2014-05/101873.htm

使用 Vagrant 和 Fabric 用于集成测试 http://www.linuxidc.com/Linux/2014-07/104113.htm

使用 Vagrant 搭建开发环境 http://www.linuxidc.com/Linux/2014-07/104116.htm

Windows 下配置 Vagrant 环境 http://www.linuxidc.com/Linux/2014-07/104115.htm

使用 Vagrant 搭建开发环境 http://www.linuxidc.com/Linux/2014-07/104116.htm

通过 Vagrant 搭建虚拟机环境 http://www.linuxidc.com/Linux/2015-08/121985.htm

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-09/123054.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3157字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7815458
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛 NAS-8:有了 NAS 你可以干什么?软件汇总篇 前言 哈喽各位玩友!我是是星哥,不少朋友私...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
优雅、强大、轻量开源的多服务器监控神器

优雅、强大、轻量开源的多服务器监控神器

优雅、强大、轻量开源的多服务器监控神器 在多台服务器同时运行的环境中,性能监控、状态告警、资源可视化 是运维人...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...