Pyrthonの環境設定(pyenv+virtualenv+nodeenv)
環境
前提
Git
初期設定
yum -y install sqlite-devel
pyenv
pyenvのインストール
[root@localhost ~]# git clone git://github.com/yyuu/pyenv.git ~/.pyenv Cloning into '/root/.pyenv'... remote: Counting objects: 3328, done. remote: Compressing objects: 100% (940/940), done. remote: Total 3328 (delta 2407), reused 3123 (delta 2215) Receiving objects: 100% (3328/3328), 497.54 KiB | 83.00 KiB/s, done. Resolving deltas: 100% (2407/2407), done. Checking connectivity... done [root@localhost ~]#
環境設定に設定し、読み込み
[root@localhost ~]# echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.zshrc [root@localhost ~]# echo 'eval "$(pyenv init -)"' >> ~/.zshrc [root@localhost ~]# source ~/.zshrc [root@localhost ~]#
バージョンリストの確認
[root@localhost ~]# pyenv install -l Available versions: 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.5 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.6-dev 2.6.6 2.6.7 2.6.8 2.6.9 2.7 2.7-dev 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 3.0.1 3.1-dev 3.1.3 3.1.4 3.1.5 3.2 3.2-dev 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.3-dev 3.3.0 3.3.1 3.3.2 3.3.3 3.4-dev 3.4.0a2 3.4.0a3 3.4.0a4 jython-2.5-dev jython-2.5.0 jython-2.5.1 jython-2.5.2 jython-2.5.3 jython-2.5.4-rc1 jython-2.7-beta1 jython-dev pypy-1.5 pypy-1.5-src pypy-1.6 pypy-1.7 pypy-1.7-dev pypy-1.8 pypy-1.8-dev pypy-1.9 pypy-1.9-dev pypy-2.0 pypy-2.0-dev pypy-2.0-src pypy-2.0.1 pypy-2.0.1-src pypy-2.0.2 pypy-2.0.2-src pypy-2.1 pypy-2.1-src pypy-2.2 pypy-2.2-src pypy-dev pypy3-2.1-beta1 pypy3-2.1-beta1-src pypy3-dev stackless-2.7-dev stackless-2.7.2 stackless-3.2-dev stackless-3.2.2 stackless-3.3-dev stackless-dev [root@localhost ~]#
インストール
[root@localhost ~]# pyenv install 3.3.2 Downloading Python-3.3.2.tgz... -> http://yyuu.github.io/pythons/0a2ea57f6184baf45b150aee53c0c8da Installing Python-3.3.2... Installed Python-3.3.2 to /root/.pyenv/versions/3.3.2 Downloading setuptools-1.4.tar.gz... -> https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.tar.gz Installing setuptools-1.4... Installed setuptools-1.4 to /root/.pyenv/versions/3.3.2 Downloading pip-1.4.1.tar.gz... -> https://pypi.python.org/packages/source/p/pip/pip-1.4.1.tar.gz Installing pip-1.4.1... Installed pip-1.4.1 to /root/.pyenv/versions/3.3.2 [root@localhost ~]#
pyenvのバージョン
[root@localhost ~]# pyenv -v pyenv 0.4.0-20131116-5-g02e073a [root@localhost ~]#
切り替え
[root@localhost ~]# pyenv versions * system (set by /root/.pyenv/version) 3.3.2 [root@localhost ~]# pyenv global 3.3.2 [root@localhost ~]# pyenv versions system * 3.3.2 (set by /root/.pyenv/version) [root@localhost ~]# python --version Python 3.3.2 [root@localhost ~]# pyenv rehash [root@localhost ~]#
別バージョンのインストール(2.7.3)
[root@localhost ~]# pyenv install 2.7.6 Downloading Python-2.7.6.tgz... -> http://yyuu.github.io/pythons/1d8728eb0dfcac72a0fd99c17ec7f386 Installing Python-2.7.6... Installed Python-2.7.6 to /root/.pyenv/versions/2.7.6 Downloading setuptools-1.4.tar.gz... -> https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.tar.gz Installing setuptools-1.4... Installed setuptools-1.4 to /root/.pyenv/versions/2.7.6 Downloading pip-1.4.1.tar.gz... -> https://pypi.python.org/packages/source/p/pip/pip-1.4.1.tar.gz Installing pip-1.4.1... Installed pip-1.4.1 to /root/.pyenv/versions/2.7.6 [root@localhost ~]# [root@localhost ~]# pyenv global 2.7.6 [root@localhost ~]# pyenv local 2.7.6 [root@localhost ~]# python --version Python 2.7.6 [root@localhost ~]# [root@localhost ~]# pyenv rehash [root@localhost ~]#
virtualenv
virtualenvのインストール
[root@localhost ~]# pip install virtualenv Downloading/unpacking virtualenv Downloading virtualenv-1.10.1.tar.gz (1.3MB): 1.3MB downloaded Running setup.py egg_info for package virtualenv warning: no files found matching '*.egg' under directory 'virtualenv_support' warning: no previously-included files matching '*' found under directory 'docs/_templates' warning: no previously-included files matching '*' found under directory 'docs/_build' Installing collected packages: virtualenv Running setup.py install for virtualenv warning: no files found matching '*.egg' under directory 'virtualenv_support' warning: no previously-included files matching '*' found under directory 'docs/_templates' warning: no previously-included files matching '*' found under directory 'docs/_build' Installing virtualenv script to /root/.pyenv/versions/2.7.6/bin Installing virtualenv-2.7 script to /root/.pyenv/versions/2.7.6/bin Successfully installed virtualenv Cleaning up... [root@localhost ~]#
nodeenv
仮想環境を作成
[root@localhost ~]# virtualenv env New python executable in env/bin/python Installing Setuptools..............................................................................................................................................................................................................................done. Installing Pip.....................................................................................................................................................................................................................................................................................................................................done. [root@localhost ~]#
仮想環境を起動
[root@localhost ~]# . env/bin/activate (env)[root@localhost ~]#
※(env)となっている
切り替えた環境にnodeenvをインストール
(env)[root@localhost ~]# pip install nodeenv Downloading/unpacking nodeenv Downloading nodeenv-0.7.1.tar.gz Running setup.py egg_info for package nodeenv warning: no previously-included files found matching '*.pyc' warning: no previously-included files found matching '*.swp' Installing collected packages: nodeenv Running setup.py install for nodeenv warning: no previously-included files found matching '*.pyc' warning: no previously-included files found matching '*.swp' Installing nodeenv script to /root/env/bin Successfully installed nodeenv Cleaning up... (env)[root@localhost ~]#
バージョンの確認
(env)[root@localhost ~]# nodeenv --version 0.7.1 (env)[root@localhost ~]#
インストールするバージョンの確認
(env)[root@localhost ~]# nodeenv -l 0.0.1 0.0.2 0.0.3 0.0.4 0.0.5 0.0.6 0.1.0 0.1.1 0.1.2 0.1.3 0.1.4 0.1.5 0.1.6 0.1.7 0.1.8 0.1.9 0.1.10 0.1.11 0.1.12 0.1.13 0.1.14 0.1.15 0.1.16 0.1.17 0.1.18 0.1.19 0.1.20 0.1.21 0.1.22 0.1.23 0.1.24 0.1.25 0.1.26 0.1.27 0.1.28 0.1.29 0.1.30 0.1.31 0.1.32 0.1.33 0.1.90 0.1.91 0.1.92 0.1.93 0.1.94 0.1.95 0.1.96 0.1.97 0.1.98 0.1.99 0.1.100 0.1.101 0.1.102 0.1.103 0.1.104 0.2.0 0.2.1 0.2.2 0.2.3 0.2.4 0.2.5 0.2.6 0.3.0 0.3.1 0.3.2 0.3.3 0.3.4 0.3.5 0.3.6 0.3.7 0.3.8 0.4.0 0.4.1 0.4.2 0.4.3 0.4.4 0.4.5 0.4.6 0.4.7 0.4.8 0.4.9 0.4.10 0.4.11 0.4.12 0.5.0 0.5.1 0.5.2 0.5.3 0.5.4 0.5.5 0.5.6 0.5.7 0.5.8 0.5.9 0.5.10 0.6.0 0.6.1 0.6.2 0.6.3 0.6.4 0.6.5 0.6.6 0.6.7 0.6.8 0.6.9 0.6.10 0.6.11 0.6.12 0.6.13 0.6.14 0.6.15 0.6.16 0.6.17 0.6.18 0.6.19 0.6.20 0.6.21 0.7.0 0.7.1 0.7.2 0.7.3 0.7.4 0.7.5 0.7.6 0.7.7 0.7.8 0.7.9 0.7.10 0.7.11 0.7.12 0.8.0 0.8.1 0.8.2 0.8.3 0.8.4 0.8.5 0.8.6 0.8.7 0.8.8 0.8.9 0.8.10 0.8.11 0.8.12 0.8.13 0.8.14 0.8.15 0.8.16 0.8.17 0.8.18 0.8.19 0.8.20 0.8.21 0.8.22 0.8.23 0.8.24 0.8.25 0.8.26 0.9.0 0.9.1 0.9.2 0.9.3 0.9.4 0.9.5 0.9.6 0.9.7 0.9.8 0.9.9 0.9.10 0.9.11 0.9.12 0.10.0 0.10.1 0.10.2 0.10.3 0.10.4 0.10.5 0.10.6 0.10.7 0.10.8 0.10.9 0.10.10 0.10.11 0.10.12 0.10.13 0.10.14 0.10.15 0.10.16 0.10.17 0.10.18 0.10.19 0.10.20 0.10.21 0.10.22 0.11.0 0.11.1 0.11.2 0.11.3 0.11.4 0.11.5 0.11.6 0.11.7 0.11.8 (env)[root@localhost ~]#
最新のnodeをセットアップ
(env)[root@localhost ~]# nodeenv -p * Install node.js (0.10.22) ... done. * Appending nodeenv settings to /root/env/bin/activate (env)[root@localhost ~]# node -v v0.10.22 (env)[root@localhost ~]# npm -v 1.3.14
終了
(env)[root@localhost ~]# deactivate [root@localhost ~]#
別バージョン指定
[root@localhost ~]# nodeenv --node=0.11.8 --npm=0.3.17 --jobs=4 env-11.8 * Install node.js (0.11.8) ... done. (env)[root@localhost ~]# deactivate [root@localhost ~]#
バージョンを切り替えて起動
[root@localhost ~]# . env-11.8/bin/activate (env-11.8)[root@localhost ~]# node -v v0.11.8 (env-11.8)[root@localhost ~]# npm -v 1.3.13 (env-11.8)[root@localhost ~]# deactivate_node [root@localhost ~]#
※deactivate_nodeで終了