这半年用docker管理开发环境 + vs code/编码 git + pycharm跑unittest

优点多多,实现了关注点分离

1 dockfile 直接隔离成独立的image

2 code对git的集成真是没话说

3 pycharm 精细定义多个测试环境,unittest多的时候全运行有时很慢,可以定义个小集合,修改运行快,每天运行慢一点的全部unittest。

但这套工具,感觉对随手写的小东西,太重型了

1 尤其是低功耗超极本+windows:

1 win下docker必须要启动hyper-V,这样笔记本就不能睡眠,休眠了(默认开着hyper-v的机器是多个虚拟机的宿主,当然不能随便就休息了)

2 pycharm太重型,占内存,占CPU。

还是怀念sublime text3  +本地python 直接 ctrl+B就运行啊!

那么,8102年了,不用virtualenv了,用pipenv 就好。

但是pipenv需要用pipenv shell启动环境。

那么在st3里,需要建立build system

tool->build system->new build system

内容嘛,参考

1 mac下的 http://www.rmworking.com/blog/2018/02/11/sublime-text3-pipenv/

2 st3 \Packages下自带的 Python.sublime-package 里的相关字段

最终这样写

windows:

{
"working_dir": "$file_path",
"cmd": ["pipenv" ,"run" ,"python" ,"$file_name"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python", "env": {"PYTHONIOENCODING": "utf-8"},
}

linux:

{
"working_dir": "$file_path",
"cmd": ["pipenv" ,"run" ,"python3.7" ,"$file_name"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python", "env": {"PYTHONIOENCODING": "utf-8"},
}

这里的python版可以用系统自带的python3(ubuntu18.04 是3.6) 也可以用自己编译安装的更新的版本.安装方法见https://www.cnblogs.com/xuanmanstein/p/10087010.html

保存为pipenv即可,文件位置

windows下:

st3安装路径\Data\Packages\User\pipenv.sublime-build

linux下:

~/.config/sublime-text-3/Packages/User/pipenv.sublime-build

这样运行就可以了。regex负责保证正常显示Unicode字符,包括中文

最后,如果pipenv在lock的时候长时间卡死,别忘了把 pip切换为国内源

pipenv+sublime text3 配置的更多相关文章

  1. Sublime Text3配置Lua运行环境

    Sublime Text3配置Lua运行环境 前言 要问现在哪个编译器最能扛得住潮流,要数Sublime Text3了,由于它的轻量,插件丰富,美观,造就了一大批粉丝(本菜鸡也是哦) 在以前的工作中使 ...

  2. MAC系统下Sublime Text3 配置Python3详细教程

    MAC系统下Sublime Text3 配置Python3详细教程(亲测有效) https://blog.csdn.net/weixin_41768008/article/details/798590 ...

  3. Sublime Text3 配置Python3编译环境

    Sublime Text3 配置Python编译环境 进入Sublime Text3 ,然后选择菜单:工具(T)==>编译系统(U)==>新编译系统... 把上面的代码换成如下代码: &q ...

  4. Sublime Text3 配置 NodeJs 环境

    前言 大家都知道,Sublime Text 安装插件一般从 Package Control 中直接安装即可,当我安装 node js 插件时候,直接通过Package Control 安装,虽然插件安 ...

  5. sublime Text3配置及快捷键、插件推荐总结

    一.基础 1.重要文档: sublime Text3官方文档中文版:http://feliving.github.io/Sublime-Text-3-Documentation/ sublime Te ...

  6. Sublime text3配置LiveReload

    Tip: LiveReload是很棒的插件,可以在浏览器中实时预览,但是在Sublime text3里,从Package Control中安装的LiveReload是无法使用的,但是可以选择手动安装解 ...

  7. sublime text3 配置使用

    前言 sublime text3 是一款优秀的代码编辑器,很多好用的功能让我成为其忠实用户. 流程 1.安装完成后首先配置package control,把下面的代码复制到sublime 的控制台: ...

  8. Golang学习:sublime text3配置golang环境

    最近导师让学习golang, 然后我就找了些有关golang的学习视频和网站. 昨天在电脑上下载了go tools, 之后在sublime上配置了golang的运行环境.By the way, 我的电 ...

  9. Sublime Text3 配置 NodeJs 开发环境

    题外话:使用visual studio开发NodeJs也是很方便,只需要安装插件即可. 本着对Sublime Text3的喜爱,尤其是最近更新后,界面和功能上感觉更nice了,那就配置一发环境吧! ( ...

随机推荐

  1. 为什么不应该使用ZooKeeper做服务发现

    [编者的话]本文作者通过ZooKeeper与Eureka作为Service发现服务(注:WebServices体系中的UDDI就是个发现服务)的优劣对比,分享了Knewton在云计算平台部署服务的经验 ...

  2. js的匿名函数 和普通函数

    匿名函数在声明时不用带上函数名, 可以把匿名函数当作一个function类型的值来对待 声明一个普通的函数 function func() { ... } 可以认为和var func = functi ...

  3. 类中函数前、后、参数加const

    1.参数加const:int fun(const int a) a在函数里不可被修改 2.函数前加const:const int* const fun() 这种一般是返回的指针或者是引用,加const ...

  4. ol3对地图上某些特定的经纬度进行标注

    最终效果需要类似于这种 1.首先我们需要一个最基本的地图,这一步骤可以浏览该分类下的上一篇随笔. 2.ol3支持的文件格式有.geojson,我们需要将坐标制作成符合这种格式的样子才能被ol3识别并显 ...

  5. Android系统更新防互刷功能实现与分析【转】

    本文转载自:https://blog.csdn.net/huangyabin001/article/details/44465145 版权声明:本文为博主原创文章,未经博主允许不得转载.    htt ...

  6. centos 编译lantrn

    github上的安装指导: Custom fork of Go is currently required. We'll eventually switch to Go 1.7 which suppo ...

  7. SpringBoot cookie工具类

    code: import java.io.IOException; import java.util.HashMap; import java.util.Map; import javax.annot ...

  8. 排它平方数|2013年蓝桥杯A组题解析第二题-fishers

    排它平方数 小明正看着 203879 这个数字发呆. 原来,203879 * 203879 = 41566646641 这有什么神奇呢?仔细观察,203879 是个6位数,并且它的每个数位上的数字都是 ...

  9. Java 实现一个自己的显式锁Lock(有超时功能)

    Lock接口 package concurency.chapter9; import java.util.Collection; public interface Lock { static clas ...

  10. Asp.Net 之 js/jquery获取服务器端控件

    由于ASP.NET网页运行后,服务器控件会随机生成客户端id,jquery获取时候不太好操作,总结有以下3种方法:服务器控件代码:<asp:TextBox ID="txtUserID& ...