Help us understand the problem. What is going on with this article?

pyenvまとめ

※本記事を読む前にpyenvが必要かどうかフローチャート - Qiitaを参照することをおすすめします。

pyenvについてまとめたいと思います。

pyenvとは

Linuxにおいて、Pythonの実行環境を管理するツールです(例えば、2.x系と3.x系を使い分ける、といった用途が想定されるかと思います)。

インストール

pyenv

  1. anyenvまとめ - Qiitaに従って、anyenvをインストールします。
  2. Ubuntuの場合、以下のコマンドを実行し、Pythonの実行環境をインストールするのに必要なパッケージや実行環境のダウンロードを高速化させるパッケージをインストールします。
$ sudo apt install curl llvm sqlite3 libssl-dev libbz2-dev libreadline-dev libsqlite3-dev libncurses5-dev libncursesw5-dev python-tk python3-tk tk-dev aria2
  1. 以下のコマンドを実行し、pyenvをインストールします。
$ anyenv install pyenv
  1. 以下のコマンドを実行し、pyenvのコマンドを有効にします。
$ source ~/.bashrc

pyenv-virtualenv

ある実行環境を元に複数の実行環境を生成したい場合に使うプラグインです。
1. 以下のコマンドを実行し、pyenv-virtualenvをインストールします。

$ git clone https://github.com/yyuu/pyenv-virtualenv $(pyenv root)/plugins/pyenv-virtualenv

pyenv-ccache

ccashe (詳しくはccacheでC/C++のコンパイルを高速化する - Qiitaを参照) を使うことで、CPython (公式によるPython実装) のインストールの高速化を図るプラグインです。

  1. ccasheをインストールします (Ubuntuの場合、以下のコマンドを実行します)。
$ sudo apt install ccache
  1. 以下のコマンドを実行し、pyenv-ccacheをインストールします。
$ git clone https://github.com/yyuu/pyenv-ccache $(pyenv root)/plugins/pyenv-ccache

pyenv-pip-update

pipやcondaで管理されているライブラリのアップデートを簡単に行えるようにするプラグインです。

  1. 以下のコマンドを実行し、pyenv-pip-updateをインストールします。
$ git clone https://github.com/massongit/pyenv-pip-update $(pyenv root)/plugins/pyenv-pip-update

コマンド

コマンド 内容
$ pyenv ヘルプ
$ pyenv root pyenvのインストール先の絶対パス
$ pyenv shell シェルにおける実行環境
$ pyenv shell 実行環境名 シェルにおける実行環境の設定
$ pyenv global デフォルトの実行環境
$ pyenv global 実行環境名 デフォルトの実行環境の設定
$ pyenv install 実行環境名 指定された実行環境のインストール
$ pyenv uninstall 実行環境名 指定された実行環境のアンインストール
$ pyenv pip-update pipやcondaで管理されているライブラリのアップデート (pyenv-pip-update)
※condaを使用する実行環境 (anacondaやminiconda) については、condaで管理されているライブラリのみアップデート
$ pyenv virtualenv 実行環境(A)名 実行環境(B)名 pyenv installでインストールされた実行環境(A)を元に実行環境(B)を生成する (pyenv-virtualenv)
$ pyenv versions インストールされている実行環境一覧

※anyenvにanyenv-updateをインストールしてある場合、pyenv本体やプラグインのアップデートはanyenvのアップデートの一部として行うことができる
※pipを行うときにroot権限で実行しないようにする

参考文献

SUZUKI_Masaya
データエンジニア, データアナリスト, エンジニア
mixi
全ての人に心地よいつながりを
http://mixi.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away