PyCharm搭建一劳永逸的开发环境
作者:写代码的明哥 发布时间:2022-12-23 20:24:23
本文已经收录于最新版的 《PyCharm中文指南》更多 PyCharm 使用技巧,可前往在线文档学习:《PyCharm 中文指南》2.0 在线文档
在开发过程中难免遇到开发半小时,环境整半天的尴尬。
有时候自己辛苦在自己电脑上搭建的环境,却只能自己使用,无法复用给同事,这就造成了团队劳动力的极度浪费。
在这里,明哥会给你介绍一种方法,可以让你辛辛苦苦在自己电脑上搭建的 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
)发给你的同事,他们就能很快的也拥有一套可以稳定运行的项目运行环境。
来源:https://blog.csdn.net/weixin_36338224/article/details/115483001


猜你喜欢
- 一、c++调用Python将Python安装目录下的include和libs文件夹引入到项目中,将libs目录下的python37.lib复
- 一、Python安装Window系统下,python的安装很简单。访问python.org/download,下载最新版本,安装过程与其他w
- 这篇文章主要介绍了Python字符串格式化输出代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- 为了安全我们经常给access数据库加上密码,这样就算让本人下载了数据库,那么想看到数据库中的数据也不是那么简单的,起码多了一层障碍!我们平
- 前言对MySQL表的基本查询还远远达不到实际开发过程中的需求,因此还需要掌握对数据库表的复合查询。本文介绍了多表查询、子查询、自连接、内外连
- 由于一些原因,需要SAE上站点的日志文件,从SAE上只能按天下载,下载下来手动处理比较蛋疼,尤其是数量很大的时候。还好SAE提供了API可以
- 以下实验是我在百度公司实习的时候做的,记录下来留个小经验。多GPU训练cifar10_97.23 使用 run.sh 文件开始训练cifar
- 我不知道没有他们我该如何生活我编写Python已有5年以上了,我的工具集通常变得越来越小,而不是越来越大。 许多工具不是必需的或无用的,而其
- 1. 为什么要使用协程在上一篇中,我们从生成器的基本认识与使用,成功过渡到了协程。但一定有许多人,只知道协程是个什么东西,但并不知道为什么要
- 假设要生成一千万个随机数,常规的做法如下:var numbers = [];for (var&nbs
- 本文实例为大家分享了python实现单线程多任务非阻塞TCP服务端的具体代码,供大家参考,具体内容如下# coding:utf-8from
- 目录1.事件循环2.协程和异步编程2.1 基本使用2.2 await2.3 Task对象1.事件循环可以理解成为一个死循环,去检查任务列表中
- 很有趣的招聘方式和题目:以下是该次招聘前端开发工程师的聘题解答:小贤是一条可爱的小狗(Dog),它的叫声很好听(wow),每次看到主人的时候
- 两列布局的定宽自适应已经详解了,三列浮动中有两列定宽一列自适应的也详解了,那么该说说三列浮动中两列自适应一列定宽的布局了。中间定宽,左右两侧
- 本文分析了让ThinkPHP的模板引擎达到最佳效率的方法。分享给大家供大家参考,具体如下:默认情况下ThinkPHP框架系统默认使用的模板引
- 将一份一亿多条数据的csv文件等分为10份,代码如下所示:import pandas as pddata = pd.read_c
- 本文也是开发项目中的一个小经验Tip,虽然很简单,但对很多朋友也有小帮助。我们实际工程中,可能遇到开发环境、预上线环境、线上环境等环境场景,
- Tornado的核心是什么?Tornado 的核心是 ioloop 和 iostream 这两个模块,前者提供了 一个高效的 I/O 事件循
- Fibonacci斐波那契数列,很简单,就是一个递归嘛,学任何编程语言可能都会做一下这个。最近在玩Python,在粗略的看了一下Learni
- Part.I 预备知识Chap.I 几个概念的区分Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了