管理环境变量

时间:2013-04-29 21:37:28

标签: python go environment-variables virtualenv

我以前在Python项目中使用了virtualenvvirtualenvwrapper之类的Python工具,但现在我正在使用Go中的一个项目,所以我想要一个通用工具来切换环境变量我喜欢

workon myproject
....
deactivate myproject

我特别喜欢virtualenv-wrapper的工作流程,其中包含激活前和激活后脚本,我可以preactivate.sh

export MYVAR=xxx 

并后期激活

unset MYVAR

我提到的工具似乎以Python和pip为中心,但由于我的项目是Go,我不知道它是否适合我使用碰巧提供环境变量管理功能的Python工具。你会建议什么更通用的目的,并不难设置?

这个问题不一定是Go lang具体的。

3 个答案:

答案 0 :(得分:1)

是的,你可以使用gvm:

https://github.com/moovweb/gvm

如果你曾经使用过rvm用于ruby,那就类似于它。

答案 1 :(得分:0)

您可以尝试envirius (universal virtual environments manager),它允许编译任何版本的go并根据它创建任意数量的环境。 $GOPATH / $GOROOT取决于每个特定环境。

此外,它允许创建混合语言的环境。

以下是使用envirius编译基于go的应用程序的示例:

$ nv mk go-hugo-test --go=1.2.1
Creating environment: go-hugo-test ...
 * installing go==1.2.1 ...
 * done (in 8 secs.)

$ nv ls 
Available environment(s):
go-hugo-test (go==1.2.1)

$ nv on go-hugo-test
(go-hugo-test) $ go get github.com/spf13/hugo
(go-hugo-test) $ cd $GOPATH/src/github.com/spf13/hugo
(go-hugo-test) $ go build -o hugo main.go
(go-hugo-test) $ cd -
(go-hugo-test) $ hugo version
Hugo Static Site Generator v0.11-dev

答案 2 :(得分:0)

如果想要下线,你会寻找一些与平台无关且轻量级的东西,一个很好的选择是Biome。它提供了一个简单的界面来定义一个环境,该环境可用于为将应用程序克隆到指定环境的任何人。

http://github.com/1egoman/biome

(完全披露:我是作者)