在python virtualenvs中安全轻松地调试文件

env的Python项目详细描述


嫉妒![构建状态](https://travis-ci.org/shaunvxc/envy.svg?branch=master)(https://travis ci.org/shaunvxc/envy)[![PYPI版本](https://badge.fury.io/py/envy.svg)(https://badge.fury.io/py/envy" rel="nofollow">https://badge.fury.io/py/envy.svg)(https://badge.fury.io/py/envy)

为什么?

是否需要查看某个虚拟环境中的代码?然后花了3到4秒的时间输入路径?此时,您已经厌倦了在站点包中进行更改/设置断点而不首先创建备份…然后需要在测试后重新还原,以及yada yada yada。此工作流既烦人又乏味

envy是一个实用程序,允许您与当前活动的virtualenv中的所有网站包进行安全的交互,就像它们在当前工作目录中一样。

< P>![羡慕最佳5](https://cloud.githubusercontent.com/assets/3979753/13486757/df564a3A-e0e1-11e5-9e48-666fb658f6f4.gif

如何? 假设您在虚拟环境中为一个项目工作,但却从一个依赖项(一个名为bar的库)中抛出错误。stacktrace告诉我们错误是从baz.py抛出的。使用envy,只需运行(从文件系统中的任何位置):

(foo)$envy编辑栏/baz.py

你会立刻从你最喜欢的文本编辑器中看到错误点!

#####很好,文件已打开,但在编辑网站包中的文件之前不应创建备份?困惑: 这是一个很好的做法,但是有了嫉妒,就没有必要了!在启动编辑器之前,envy首先在~/中创建包的备份。

环境安全,不受破坏,您可以放心地抛出一些pdb断点,print语句,或任何您想要的小黑客!当您准备好将包还原回其原始状态时,只需运行:

(foo)$envy干净酒吧

就好像你从来没去过那里!

###等等,还有呢!:pig2::鸡蛋:

假设您维护一个库,以及另一个依赖于ham的项目。您想测试您最近对ham所做的一些更改,但还远没有准备好开始修改版本或运行setup.py install。使用envy您可以非常快速地将更改从本地开发人员的ham副本同步到居住在eggs这样的虚拟环境中:

(鸡蛋)$envy sync火腿

您还可以同步独立文件:

(鸡蛋)$envy sync ham/spam.py

*注意:*envy sync命令必须在您要同步的包的本地副本中运行(即ham

envy edit一样,将自动创建包的(ham状态的备份。与以前一样,要恢复原始状态:

(鸡蛋)$羡慕干净的火腿

##不说话,直接使用:不说话:

####编辑活动虚拟环境中安装的任何网站包中的任何文件:

(活动的virtualenv)$envy编辑任何网站包/任何文件.py

####放弃所有编辑,并将任何网站包返回到其原始状态:

(active virtualenv)$envy清除任何网站包

您可以同时运行编辑和从文件系统中的任何位置清除,只要您在包含所需软件包的virtualenv中。

####将所有编辑过的包还原到其原始状态:

(活动virtualenv)$envy clean–全部

####将所有本地更改从随机库同步到它所处的位置

(一些虚拟机):dev/random库$envy sync random库

目前,sync命令不能像editclean那样灵活地运行(它们只在希望同步的python包中运行时才起作用)-尽管将来肯定有可能改进这一点。

####查看包的当前副本与其备份(干净)副本之间的差异:

(一些virtualenv):$envy diff包

*注意:*envy edit使用$editor环境变量启动文本编辑器–如果未设置,只需添加:

导出编辑器=您选择的编辑器

到您的.bashrc文件。

##安装 $pip install envy

对于手动安装: "贝壳" $git clonehttps://github.com/shaunvxc/envy.git CD嫉妒 $python setup.py安装

##未来工作: -添加envy diff函数,将当前应用的更改与干净的备份副本进行比较 -探索以不同格式打包的选项(使用curl安装),以便它在全球范围内可用(而不是基于每个virtualenv基础) -处理本地制造的鸡蛋包装?或者用pip强制当地建筑? -允许从文件系统上的任何地方运行sync(可能需要像$dev_src这样的环境变量) -提高测试覆盖率 -添加可选的virtualenv参数以允许同步/编辑到非活动virtualenv

##贡献 1。分叉(https://github.com/shaunvxc/envy/fork" rel="nofollow">https://github.com/shaunvxc/envy/fork) 1。创建您的功能分支(git checkout-b new feature) 1。提交更改(git commit-am'add some feature') 1。运行测试(进行测试) 1。将更改推送到分支(git push origin new feature) 1。创建拉取请求

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JetXcel在关闭可写工作簿之前修改多个单元格   java saveMyProfile计算false 2次   java在安卓系统中如何在长时间内让现在和时间变得不同   java生成大小写字母   java set MainClass标头,带有来自mainClassName的渐变   java无法仅为此网站拖放selenium   java如何使HttpURLConnection从servlet响应中获取标头?   java如何将cachecontrol添加到@RestController servlet路径?   java如何在jasper report中调用实体方法?   java中的“<<”运算符   java在Android应用程序中添加按位置搜索功能   使用<%@page isaligned=“false”%%时,java静态属性必须是字符串文字