的virtualenv-SH是一种替代古老的virtualenvwrapper (一套外壳功能,方便使用的virtualenv的)。
开发者评论
许多人一样,我用virtualenvwrapper多年,但它变得有点沉重随着时间的推移。我终于发现自己等待太久了新的炮弹启动,即使我倾向于只使用基本功能。
该项目是试图解决这个问题。我借virtualenvwrapper的巧妙位,舍弃一切,我认为是昂贵的,或只是不感兴趣,并增加了一个功能或两个我自己。该项目的首要任务是速度。该代码是几乎纯的外壳脚本,虽然有可能是如grep或sed的标准工具的一个或两个调用。
被警告,这可能执行不适合你。我可能已经摆脱了你喜欢的一个功能,是因为它是昂贵还是因为我只是不关心它。我可能不小心丢弃的修补程序或解决方法,我还没有遇到过的一些环境。我可能只是引入新的Bug(壳是一个简单的语言来得到错误以微妙的方式)。进行风险自担。
安装
的virtualenv-SH可以与PIP或easy_install的安装。要使用它,你需要在你的shell环境的源单一的shell脚本。默认情况下,PIP或easy_install的应该安装到/ usr / local / bin目录。如果你使用bash或zsh的,你应该导入shell特定的脚本;否则,你可以尝试通用之一。以下内容添加到你的shell初始化脚本(.bashrc中,.zshrc,等)之一:
。 /usr/local/bin/virtualenv-sh.bash
。 /usr/local/bin/virtualenv-sh.zsh
。 /usr/local/bin/virtualenv-sh.sh
没有别的要求。这里只有一个,你可以使用配置,这是WORKON_HOME环境变量。这是一个路径,你virutalenvs的收集;你可以留空接受$ {HOME} /。virtualenvs默认。假设VIRTUALENV本身就是在你的路径。
WORKON_HOME = $ {HOME} /。virtualenvs
的zsh
如果你使用的zsh,你可以改用预编译的归档功能,以获得最佳性能,虽然这需要从源代码编译您的机器上。您可以直接下载源或尝试:
PIP安装--upgrade --no安装的virtualenv-SH
CD编译/的virtualenv-SH
须藤使安装
这将找到的zsh在你的路径,用它来编译的virtualenv-sh.zwc,并将其安装到/ usr / local / bin目录。现在,您可以自动加载这些功能和初始化的virtualenv-SH。您可能要参考一节功能自动加载的zsh的手册,如果你不熟悉这个过程:
#配置所有的virtualenv-SH功能自动加载
fpath =(的/ usr / local / bin目录/的virtualenv-SH $ fpath)
-w自动加载的/ usr / local / bin目录/的virtualenv-SH
#主呼初始化函数
virtualenv_sh_init
使用
的virtualenv-SH的基本命令是基本上相同virtualenvwrapper。这里有一个简单的回顾:
  mkvirtualenv
 创建于$ WORKON_HOME新virtual_env。所有的参数都直接传递给VIRTUALENV。新virtual_env将被激活。不像virtualenvwrapper,这需要没有额外的参数。
  rmvirtualenv
 删除现有virtual_env。如果这virtual_env是当前活动,它首先停用作为一种礼貌。
  workon [
 激活命名virtual_env。如果另一个virtual_env当前处于活动状态时,将首先关闭。不带参数,它会列出可用virtual_envs。
  autoworkon
 自动设置基于专用文件virtual_env。见下文。
 关闭
 停用当前virtual_env(如使用的virtualenv时直接)。
  lsvirtualenvs
 打印你所创建的virtual_envs的列表。
  cdvirtualenv [子目录]
 改变当前目录到活动virtual_env的根,或它们的一个子目录。
  lssitepackages
 列出活动virtual_env的site-packages目录中的内容。
  cdsitepackages [子目录]
 更改确认当期目录到活动virtual_env的site-packages目录,或它们的一个子目录。
钩
的virtualenv-SH支持相同的全局和局部(每个ENV)挂钩的virtualenvwrapper。全局钩子在$ WORKON_HOME文件;当地钩在$ WORKON_HOME / {} virtual_env / bin中的文件。钩通过获取他们在当前的shell上下文中执行。
 初始化(全球)
 调用在virtualenv_sh_init的末端。
  premkvirtualenv,postmkvirtualv,prermvirtualenv,postmkvirtualenv(全球)
 调用开头和mkvirtualenv和rmvirtualenv结束。
 预激活,postactivate(全局,局部); predeactivate,postdeactivate(本地和全球)
 被叫围绕激活virtual_env和失活指示的顺序。
此外,的virtualenv-SH允许你动态注册功能的执行挂钩时要调用的:
virtualenv_sh_add_hook
virtualenv_sh_remove_hook
例如:
my_virtualenv_cleanup()
{
 #做一些东西在这里
}
virtualenv_sh_add_hook postdeactivate my_virtualenv_cleanup
注册钩子函数的所有全局和局部钩子脚本后,始终执行。
autoworkon
autoworkon是设计了一种基于当前目录切换到自动更新您的virtual_env一个新的命令。需要注意的是没有标准的shell机制运行时的当前目录变化的函数 - 和许多炮弹没有这样一个机制 - 使安装,这是由你。如果你使用的zsh,你可以使用:
自动加载-U附加的zsh钩
附加的zsh钩chpwd autoworkon
该autoworkon功能将走上文件系统从当前目录直到它到达根部或发现一个名为“.workon”的项目。如果这是一个可读的文件,它将处理的第一行作为virtual_env的名称,并激活它。有一对夫妇的特殊规则要牢记:
- autoworkon永远停止在找到的第一个.workon。这是完全合理的,有在目录树多点.workon文件,在不同层次使用不同的virtual_envs。
- 一个空的或不可读.workon文件被解释为“不virtual_env”。如果你想关闭自动virtual_env在一个特定的子树,这是很有用的。
- 如果你手动激活virtual_env,autoworkon永远不会覆盖它。 。autoworkon只会更改活动virtual_env如果没有设置或以前使用autoworkon设置
要求:
- 在Python中
评论没有发现