跳转到主要内容

在子shell中激活conda环境

项目描述

这是一个小工具,可用于激活conda环境。它是使用source activate <env>的替代品,而是使用conda子命令来启动一个新的shell,并激活环境。通过退出此子shell来停止环境激活。这与来自pew

pew workon

命令非常相似,并基于此。这一显著优势是它不依赖于您使用的shell,也不与shell进行交互。这意味着它不受bash和zsh的限制。

激活环境看起来就像这样

$ conda create -n py26 python=2.6
...
$ conda info -e
# conda environments:
#
py26                     /home/flub/miniconda3/envs/py26
root                  *  /home/flub/miniconda3
$ conda workon py26
Launching subshell in conda environment.  Type "exit" or "Ctr-D" to return.
(py26) $ conda info -e
# conda environments:
#
py26                  *  /home/flub/miniconda3/envs/py26
root                     /home/flub/miniconda3
(py26) $ exit
$ conda info -e
# conda environments:
#
py26                     /home/flub/miniconda3/envs/py26
root                  *  /home/flub/miniconda3

可以使用conda workon -l|--list或使用标准的conda env listconda info -e|--envs来列出可用的环境。

另一个功能是,它可以根据命令行上的包规范提供一个简单的临时环境

$ conda worktmp python=3.4 sphinx
Fetching package metadata: ..
Solving package specifications: .
Package plan for installation in environment /tmp/tmp7ua0_le9/env:
...
Proceed ([y]/n)? y
...
Launching subshell in conda environment.  Type "exit" or "Ctr-D" to return.
$ conda info | grep default
  default environment : /tmp/tmp7ua0_le9/env
$ exit
$ conda info | grep default
  default environment : /home/flub/miniconda3
$

同样,可以从environment.yml文件创建临时环境

$ conda worktmp -f path/to/environment.yml
...
Launching subshell in conda environment.  Type "exit" or "Ctr-D" to return.

如果使用不带参数的-f|--file,则会在当前目录中查找environment.yml。当使用worktmp时,也可以通过使用-e|--editable选项直接调用pip -e <path>。这对于开始开发包来说很方便

$ conda worktmp -f -e.
...
Proceed ([y]/n)? y
...
  Running setup.py develop for foo
Successfully installed foo
Launching subshell in conda environment.  Type "exit" or "Ctr-D" to return.
$

安装

需要在根conda环境中安装conda-workon命令。

使用pip

确保您在conda根环境中已使用 conda install pip 安装了 pip。然后确保使用此版本的pip安装 conda-workon

$ pip install conda-workon

使用conda

conda-forge项目包提供了 conda-workon,因此您在添加了conda-forge通道后可以安装它。

conda config --add channels conda-forge
conda install conda-workon

配置提示符

conda-workon 命令根本不会干扰shell,它只是启动一个新的子shell,并修改路径。这意味着默认情况下,shell的提示符不会指示您正在使用哪个conda环境。然而,当前激活的conda环境可以在 CONDA_DEFAULT_ENV 环境变量中找到,这使得您能够轻松地按需配置shell。使用fish shell的一个简单示例是在 fish_prompt 函数中包含以下片段:

# Show the conda environment, calculate __fish_prompt_conda only once
if set -q CONDA_DEFAULT_ENV
    if not set -q __fish_prompt_conda
        set -g __fish_prompt_conda (set_color --bold -b blue red)$CONDA_DEFAULT_ENV"$__fish_prompt_normal "
    end
    echo -n $__fish_prompt_conda
end

变更日志

0.4

  • 拆分为两个命令: conda-workonconda-worktmp

  • 使用 conda-workon -l|--list 实现列表功能。

  • 通过 conda-worktmp -f|--file 添加对使用 environment.yml 的支持。

  • 通过 conda-worktmp -e|--editable 添加对直接调用 pip -e <path> 的支持。

0.3

  • 添加一个 --use-local 选项,与 --tmp 一起使用。这将使用 conda create --use-local 创建环境。

  • 使用调用的conda二进制文件,而不是在PATH上查找。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

conda-workon-0.4.0.tar.gz (5.0 kB 查看哈希值)

上传时间

构建分布

conda_workon-0.4.0-py2.py3-none-any.whl (7.8 kB 查看哈希值)

上传时间 Python 2 Python 3

支持者