在开发过程中难免遇到开发半小时,环境整半天的尴尬。

有时候自己辛苦在自己电脑上搭建的环境,却只能自己使用,无法复用给同事,这就造成了团队劳动力的极度浪费。

在这里,明哥会给你介绍一种方法,可以让你辛辛苦苦在自己电脑上搭建的 Python 项目运行环境,打包给你的同事们,让他们享受你的劳动成果。

1. 下载安装 Vagrant

vagrant 下载地址:https://www.vagrantup.com/downloads

安装完成后,执行 vagrant box add hashicorp/precise64 命令,就会在你的电脑上下载一个镜像,这个镜像仅仅是做演示用,你如果有需要,可以用自己定制过的对应系统的镜像。

在下载的时候,会提示你选择虚拟化软件,在这里我们选择 virtualbox (注意:请提前安装 virtualbox),既免费又轻量。

2. 初始化项目

进入我新建的项目目录 ~/Code/Python/Vagrant-Project ,执行 vagrant init hashicorp/precise64 初始化。

最后,直接用这条命令 vagrant up 启动虚拟机

虚拟机启动之后,就可以使用 vagrant ssh 直接 ssh 进入虚拟机(明哥注:Windows 只能使用远程登陆软件登陆 127.0.0.1:2222,比如 Xshell,或者使用 Tools -> Start SSH Session)。

在这个镜像中,内置了 Python 2.7.3 ,由于只做演示使用,所以这也够用了。

虚拟机里的 /vagrant/ 目录就对应你宿主机上的 项目根目录

如果你想添加更多的文件夹映射,可以编辑 Vagrantfile 文件,在 end 前,添加下面这一行

  config.vm.synced_folder "/Users/MING/src", "/srv/website"

然后再执行 vagrant reload

3. 配置 PyCharm

PyCharm 不愧是最专业的 Python IDE ,它对 Vagrant 也提供了非常好的支持。不过在使用前,需要配置一下。

首先,确保你的 vagrant 插件已经安装

然后,在 Tools -> Vagrant 中配置 vagrant 的信息

最后,再在 Project -> Python Interpreter 里添加 Vagrant 虚拟机里的 Python 解释器

配置完了后,无论在 Setting 里面

还是在项目界面里看到的 Python 解释器都是 Vagrant 里的 Python

在这样的一个环境下,你新建的所有 Python 项目文件,都会被同步到 Vagrant 虚拟机中的 /vagrant/ 目录下,你在本地运行 Python 项目,其实都是在 Vagrant  虚拟机中运行。

如果你的 Python 项目运行需要依赖很多的组件 ,那完全可以将这些组件全部安装在这个 Vagrant 虚拟机中,打包成镜像,然后把这个镜像和项目(包括 .vagrant 文件夹 和 Vagrantfile)发给你的同事,他们就能很快的也拥有一套可以稳定运行的项目运行环境。

推荐阅读

误执行了rm -fr /*之后,除了跑路还能怎么办?!

程序员必备58个网站汇总

大幅提高生产力:你需要了解的十大Jupyter Lab插件

一次打包,无限复用!教你用 PyCharm 搭建一劳永逸的开发环境相关推荐

  1. 【效率】一次打包,无限复用!教你用 PyCharm 搭建一劳永逸的开发环境

    在开发过程中难免遇到开发半小时,环境整半天的尴尬. 有时候自己辛苦在自己电脑上搭建的环境,却只能自己使用,无法复用给同事,这就造成了团队劳动力的极度浪费. 在这里,明哥会给你介绍一种方法,可以让你辛辛 ...

  2. 从零开始,教你如何安装、配置Python开发环境,Python入门安装教程,超级详细

    近日,我鼓起勇气从头开始正儿八经地配置一个更轻量.更趁手的 Python 开发环境.经过一番折腾,我比较顺利地在 Windows 10 上配置了一个比较满意的 Python 环境: 安装稳定版本的 P ...

  3. ESP8266 Non-OS SDK 开发之旅 基础篇① 初识 Non-OS SDK,史上超级详细手把手教小白20分钟快速搭建SDK软件开发环境,完成第一个例子Hello World!

    文章目录 1.前言 2. SDK概述 2.1 SDK使用流程 2.2 ESP8266 HDK -- 硬件开发工具 2.3 ESP8266 SDK -- 软件开发工具包 2.3.1 Non-OS SDK ...

  4. 手把手教你学node之搭建node.js开发环境

    搭建node.js开发环境 本文只针对在Linux或者Mac下面.至于使用 Windows 并坚持玩新技术的同学,我坚信他们一定有着过人的.甚至是不可告人的兼容性 bug 处理能力,所以这部分同学麻烦 ...

  5. 手把手教您搭建AR应用开发环境

    1915年的时候,有个叫陈独秀的同学找来了两个哥们,德先生(民主)和赛先生(科学),颠覆了全中国 2010年前后,安先生(android)和艾先生(ios)联手推翻了塞班的统治,颠覆了全世界 而AR一 ...

  6. Kinect开发教程一:OpenNI的安装与开发环境配置

    小斤注:关于OpenNI2.X版本的安装与开发环境配置,请参考<Kinect开发教程六:OpenNI2简介.安装与VS开发环境配置> --------------------------- ...

  7. 想做公众号开发?教你如何搭建公众号开发环境

    序言 移动互联网时代,微信的影响力已经不用多说,从用户体量到无人不知的朋友圈都已充分体现了它的强大.无论是企业.媒体还是自媒体人都先后开通了微信公众号,利用其进行文化宣传和信息传播,起到了良好的效果, ...

  8. 手把手教你从零开始搭建Amazon Advertising-API开发环境(二)之获取SP广告数据

    1. 获取access_token 官方链接 1.1 请求路径 POST 地区 URL NA https://api.amazon.com/auth/o2/token EU https://api.a ...

  9. 手把手教你搭建深度学习开发环境(Tensorflow)

    前段时间在阿里云买了一台服务器,准备部署网站,近期想玩一些深度学习项目,正好拿来用.TensorFlow官网的安装仅提及Ubuntu,但我的ECS操作系统是 CentOS 7.6 64位,搭建Pyth ...

最新文章

  1. YOLOv4 论文翻译
  2. Multisim 12.0 笔记
  3. part.write java_使用javax.servlet.http.Part类上传文件
  4. 编程方法学18:多维数组收尾
  5. Qt 并行计算圆周率示例
  6. 网页客服机器人_易聊AI客服机器人强大线索获取能力助力企业稳操胜券
  7. 同一进程中的线程究竟共享哪些资源
  8. GIS开源库shapeLib的使用方法
  9. 写接口是什么意思啊_科普贴:果汁包装上写NFC到底是什么意思?
  10. python中easygui有几种_一、Python 模块EasyGui详细介绍
  11. await原理 js_深入浅出node.js异步编程 及async await原理
  12. SpringCloud之Eureka
  13. 异步时钟下跨时钟域信号处理
  14. OCP考试题库(精准无比)
  15. 栅格模型数据编码方式
  16. 机器学习之------信号处理(入门原理)
  17. {转}:Digium和Dialogic在最近发布的产品中强调高清语音
  18. 基于深度学习方法的事件抽取论文整理
  19. 明年债券收益率有望延续下行的趋势
  20. 基于云的文档管理软件/文档管理系统(DMS)

热门文章

  1. windows系统如何查看端口被占用、杀进程
  2. 阿里双十一秒杀系统架构设计,有哪些技术关键点?
  3. 安装icephp 记
  4. ELK学习6_Kafka-Logstash-Elasticsearch数据流操作
  5. PHPExcel设置自动列宽
  6. java 处理表单_java – 处理multipart / form-data输入
  7. git丢弃本地修改的所有文件(新增、删除、修改)
  8. 开发web前端_移动前端开发和web前端开发的区别?
  9. scrapy 中爬取时被重定向_一篇文章教会你理解Scrapy网络爬虫框架的工作原理和数据采集过程...
  10. 【ruoyi若依】layer 重置大小/resize