LoginSignup
10
8

More than 5 years have passed since last update.

homeにgolang, direnv とvirtualenvを入れて動かす

Last updated at Posted at 2014-12-10

概要

さくらレンタルサーバー(FreeBSD)にて、homeディレクトリにgoとdirenvを入れて、direnvでvirtualenvを動かすようにしたのでメモ。

環境
FreeBSD 9.1-RELEASE-p15 amd64
プラン さくらのレンタルサーバ スタンダード

手順

環境変数

export MYBASE='usr'

export LOCALBASE=${HOME}/${MYBASE}/local
export PATH=${PATH}:${LOCALBASE}/bin

export GOROOT=${LOCALBASE}/go
export PATH=${PATH}:${GOROOT}/bin

golangをdownloadして$LOCALBASEに展開

01_go.sh
export OSNAME=$(tr '[A-Z]' '[a-z]' <<< $(uname -s))
export ARCHNAME='amd64'

export FILENAME=go1.4.${OSNAME}-${ARCHNAME}.tar.gz
export URL=http://golang.org/dl/

mkdir -p ${LOCALBASE}/{src,bin}
cd ${LOCALBASE}/src
curl -L ${URL}/${FILENAME} | tar xfz -
mv go ${LOCALBASE}/

direnvをdownloadして$LOCALBASE/binにインストール

02_direnv.sh
cd ${LOCALBASE}
git clone https://github.com/zimbatm/direnv.git
cd direnv
DESTDIR=${LOCALBASE} make install

以上でbash_profileなどに

export MYBASE='usr'
export LOCALBASE=${HOME}/${MYBASE}/local
export PATH=${PATH}:${LOCALBASE}/bin
export GOROOT=${LOCALBASE}/go
export PATH=${PATH}:${GOROOT}/bin
eval "$(direnv hook bash)"

などと加えれば、direnvが動き、各ディレクトリの.envrcを読み込むようになる。

direnvでvirtualenv

virtualenvを$LOCALBASE/binにインストール

03_virtualenv.sh
cd ${LOCALBASE}/src
curl -L https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.11.6.tar.gz | tar xfz -
cd virtualenv-1.11.6
python setup.py build
mv build/lib/* ${LOCALBASE}/bin

以上で、以下のように.envrcを書いたディレクトリに移動すると、そのディレクトリに.direnv/virtualenvが作成される。

.envrc
WORK_DIR_NAME=.direnv/virtualenv
if ! [ -d $WORK_DIR_NAME ]; then
  virtualenv.py --no-site-packages --distribute $WORK_DIR_NAME
  virtualenv.py --relocatable $WORK_DIR_NAME
fi
. $WORK_DIR_NAME/bin/activate

参考

zimbatm/direnv

10
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
8