一次打包,无限复用!教你用 PyCharm 搭建一劳永逸的开发环境
在开发过程中难免遇到开发半小时,环境整半天的尴尬。
有时候自己辛苦在自己电脑上搭建的环境,却只能自己使用,无法复用给同事,这就造成了团队劳动力的极度浪费。
在这里,明哥会给你介绍一种方法,可以让你辛辛苦苦在自己电脑上搭建的 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 搭建一劳永逸的开发环境相关推荐
- 【效率】一次打包,无限复用!教你用 PyCharm 搭建一劳永逸的开发环境
在开发过程中难免遇到开发半小时,环境整半天的尴尬. 有时候自己辛苦在自己电脑上搭建的环境,却只能自己使用,无法复用给同事,这就造成了团队劳动力的极度浪费. 在这里,明哥会给你介绍一种方法,可以让你辛辛 ...
- 从零开始,教你如何安装、配置Python开发环境,Python入门安装教程,超级详细
近日,我鼓起勇气从头开始正儿八经地配置一个更轻量.更趁手的 Python 开发环境.经过一番折腾,我比较顺利地在 Windows 10 上配置了一个比较满意的 Python 环境: 安装稳定版本的 P ...
- 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 ...
- 手把手教你学node之搭建node.js开发环境
搭建node.js开发环境 本文只针对在Linux或者Mac下面.至于使用 Windows 并坚持玩新技术的同学,我坚信他们一定有着过人的.甚至是不可告人的兼容性 bug 处理能力,所以这部分同学麻烦 ...
- 手把手教您搭建AR应用开发环境
1915年的时候,有个叫陈独秀的同学找来了两个哥们,德先生(民主)和赛先生(科学),颠覆了全中国 2010年前后,安先生(android)和艾先生(ios)联手推翻了塞班的统治,颠覆了全世界 而AR一 ...
- Kinect开发教程一:OpenNI的安装与开发环境配置
小斤注:关于OpenNI2.X版本的安装与开发环境配置,请参考<Kinect开发教程六:OpenNI2简介.安装与VS开发环境配置> --------------------------- ...
- 想做公众号开发?教你如何搭建公众号开发环境
序言 移动互联网时代,微信的影响力已经不用多说,从用户体量到无人不知的朋友圈都已充分体现了它的强大.无论是企业.媒体还是自媒体人都先后开通了微信公众号,利用其进行文化宣传和信息传播,起到了良好的效果, ...
- 手把手教你从零开始搭建Amazon Advertising-API开发环境(二)之获取SP广告数据
1. 获取access_token 官方链接 1.1 请求路径 POST 地区 URL NA https://api.amazon.com/auth/o2/token EU https://api.a ...
- 手把手教你搭建深度学习开发环境(Tensorflow)
前段时间在阿里云买了一台服务器,准备部署网站,近期想玩一些深度学习项目,正好拿来用.TensorFlow官网的安装仅提及Ubuntu,但我的ECS操作系统是 CentOS 7.6 64位,搭建Pyth ...
最新文章
- YOLOv4 论文翻译
- Multisim 12.0 笔记
- part.write java_使用javax.servlet.http.Part类上传文件
- 编程方法学18:多维数组收尾
- Qt 并行计算圆周率示例
- 网页客服机器人_易聊AI客服机器人强大线索获取能力助力企业稳操胜券
- 同一进程中的线程究竟共享哪些资源
- GIS开源库shapeLib的使用方法
- 写接口是什么意思啊_科普贴:果汁包装上写NFC到底是什么意思?
- python中easygui有几种_一、Python 模块EasyGui详细介绍
- await原理 js_深入浅出node.js异步编程 及async await原理
- SpringCloud之Eureka
- 异步时钟下跨时钟域信号处理
- OCP考试题库(精准无比)
- 栅格模型数据编码方式
- 机器学习之------信号处理(入门原理)
- {转}:Digium和Dialogic在最近发布的产品中强调高清语音
- 基于深度学习方法的事件抽取论文整理
- 明年债券收益率有望延续下行的趋势
- 基于云的文档管理软件/文档管理系统(DMS)
热门文章
- windows系统如何查看端口被占用、杀进程
- 阿里双十一秒杀系统架构设计,有哪些技术关键点?
- 安装icephp 记
- ELK学习6_Kafka-Logstash-Elasticsearch数据流操作
- PHPExcel设置自动列宽
- java 处理表单_java – 处理multipart / form-data输入
- git丢弃本地修改的所有文件(新增、删除、修改)
- 开发web前端_移动前端开发和web前端开发的区别?
- scrapy 中爬取时被重定向_一篇文章教会你理解Scrapy网络爬虫框架的工作原理和数据采集过程...
- 【ruoyi若依】layer 重置大小/resize