이와는 별도로 현장연구를 수강하는 학생을 위해서 Bio-Linux 8의 .ova 파일을 VirtualBox에 '가져오기'를 하여 이것저것을 시연하고 있는데, python 3.5를 설치하기 위한 사전 작업으로 pyenv를 설치하려는 과정에서 난관에 부딪혔다. 대충 설치는 한 것 같은데 python 설치가 안된다.
생각해보니 CentOS에서 pyenv를 설치한 적은 있는데 우분투 기반에서는 아직 해 보지 않았다. 뭐가 문제일까? 답이 잘 찾아지지 않아서 conda를 통해서 python 3.x를 설치한 다음 pip를 사용하여 다른 python 응용프로그램을 깔아보았다. 이렇게 하니 문제는 없다. 어느 python interpreter를 사용하도록 $PATH를 설정하느냐에 따라서 다른 프로그램의 설치도 알아서 된다. 하지만 내가 원하는 것은 이게 아니었다.
다시 pyenv의 GitHub 사이트를 방문하여 설치 방법을 주의깊게 읽어보았다. 아! git clone 명령을 내릴 때 목표 directory를 잘못 설정한 것이었다. 다른 프로그램을 클로닝하듯이 다음과 같이 명령을 내린 것이 나의 실수였다.
$ git clone https://github.com/pyenv/pyenv.git이렇게 하면 현 디렉토리에 git라는 이름의 클론이 생긴다. 하지만 pyenv는 일반적인 응용프로그램과는 다르다. 그 하위에 많은 리소스를 계층적으로 갖고 있어서 함부로 이름을 바꾸거나 지워서는 안된다. 따라서 숨김 디렉토리에 존재해야 한다. GitHub 사이트의 설명된 설치 방법에는 다음과 같이 클론을 만들라고 분명히 나와있다.
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv이것이 전부가 아니다. startup script에 몇 줄을 써 넣어야 한다. .bashrc인가, 혹은 .bash_profile인가? 설치 설명서에는 bash는 .bash_profile, zsh은 .zshenv, 우분투와 페도라는 .bashrc라고 하였다. Bio-Linux가 zshell을 쓴다고 하여 .zshenv에 써 넣는 것이 아니다. 우분투에 대해서는 .bashrc라고 하지 않았다.
정리하자면 다음과 같이 하면 된다.
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrcSyntaxhighlighter를 써야 하는데 아직도 익숙하지 않다. 이제 exec $SHELL이라 명령하여 shell을 재기동한다. 그러고나서 pyenv install 3.5.1이라 하면 무사히 설치가 된다.
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bashrc









