Julia 虚拟环境

前段时间,我介绍了Python中创建虚拟环境的virtualenv,近日我发现在Julia中也有类似的软件包VirtualEnv.jl

安装

在命令行执行:

1
julia -e 'using Pkg; Pkg.add("VirtualEnv")'

然后添加~/.julia/binPATH路径

使用

见帮助:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
  venv

Creates virtual Julia environments in one or more target directories.

Usage

venv [options] [flags] <env_dirs>

Args

<env_dirs> One or more directories to create environments in.

Options

-p, --prompt <prompt> Provides an alternative prompt prefix for this
environment.(Default: ENV_DIR)

Flags

-c, --clear Delete the contents of the environment directory if it
alreadyexists. (Default: false)

-u, --upgrade Upgrade the environment directory to use this version
ofJulia. (Default: false)

-h, --help print this help message

-V, --version print version information

移动环境

假设我的环境原来保存在/tmp/env目录,但现在我想将其移动到/home/clh/code/env目录。

我们则需要修改bin/下的文件,对文件中的目录进行替换,这一步可以通过如下Shell脚本实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#! /bin/bash

dest_path=$1

cd $dest_path
source_path=$(cat bin/activate | grep VIRTUAL_ENV=\' | awk -F \' '{print $2}')
dest_path=`pwd`

echo "From $source_path to $dest_path"

# 对 / 转义
source_path=${source_path//\//\\\/}
dest_path=${dest_path//\//\\\/}

grep -sr "$source_path" | awk -F : '{print $1}' | xargs -I {} sed -i "s/$source_path/$dest_path/g" {}

使用方法:
先将/tmp/env移动到/home/clh/code/env,再运行:

1
./脚本名 /home/clh/code/env

更多信息

https://github.com/mehalter/VirtualEnv.jl