Web Analytics Made Easy - StatCounter

工業大学生ももやまのうさぎ塾

うさぎでもわかるをモットーに大学レベルの数学・情報科目をわかりやすく解説!

【環境構築】pyenvを使ってしっかりとpythonを管理しよう

皆さんこんにちは! つるお です。この記事では、ももやまと代わって私が担当します。

<

pyenvはpythonのバージョン管理ツールです。たとえ複数バージョンを使う予定がないとしても、マイナーアップデートの時に動作しなくなるというようなことを防ぐため、しっかりとバージョン管理を行うべきです。これは、軽くpythonを勉強するだけの人にも言え、今後のためを考えると導入しておいて損はありません。(難しくないですし)

pyenvの導入

この導入方法は、Linux(WSL含)系に限ります。MacOSの方はHomebrewを使ったインストール、Windowsの方はkirankotari様のpyenv-win forkをご利用ください。

1,gitレポジトリからクローン

適したインストール場所は、ホームディレクトリ以下です。下記コマンドを実行してください。

$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv

2,パスを通すためにshellの設定を変更

ここではbashを使用している場合です。下記コマンドを実行してください。

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile

Zshをご利用の方は、~/.bash_profile~/.zshenvに置き換えてください。

場合によっては、~/.bash_profile~/.bashrcに置き換えてください。

3,機能を使うためにshellの設定を変更

ここではbashを使用している場合です。下記コマンドを実行してください。

$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

Zshをご利用の方は、~/.bash_profile~/.zshenvに置き換えてください。

fishをご利用の方は、eval (pyenv init -)pyenv init - | sourceに置き換えてください。

場合によっては、~/.bash_profile~/.bashrcに置き換えてください。

なお、BASH_ENVが.bashrcを指すように設定されているシステムでは、$(pyenv init - ).bashrcではなく.bash_profileに入れるべきです。 そうしないと、pyenvが無限ループするなどの異常が発生する可能性があります。

4,shellを再起動

pyenvの使い方

pyenvのバージョンアップ

pyenv本体のアップデートは、gitレポジトリから差分を更新します。そのため、下記コマンドを実行します。

$ cd $(pyenv root)
$ git pull

pyenvのアンインストール

pyenv本体はディレクトリごと削除するだけでアンインストールできます。下記コマンドを実行します。

$ rm -rf $(pyenv root)

インストールできるpythonの確認

pyenvでインストールできるpythonのバージョンを確認するには、下記コマンドを実行します。

$ pyenv install -l

pyenvでpythonをインストール

上記コマンドでインストールできるバージョンを確認した後、インストールするには下記コマンドを実行します。

$ pyenv install <インストールしたいもの>
$ pyenv install 3.7.3  // 例

インストールされているバージョン一覧を確認する

pyenvでインストールされているpythonのバージョン一覧を確認するには下記コマンドを実行します。

$ pyenv versions

ちなみに、ここでSystemが表示される場合、それは元々インストールされているpythonです。

使用するpythonバージョンを切り替える

使用するバージョンを切り替えるには下記コマンドを実行します。

$ pyenv global <使用するもの>
$ pyenv global 3.7.3  // 例

その後、下記コマンドを実行すると、確かに切り替わっていることが確認できると思います。

$ python -V

最後に

ちょっと違うバージョンのpythonで動かしてみたいな。という時にとても便利ですよね。ちなみに、pyenvがどのようにバージョンを切り替えているか仕組みが気になる方は調べてみてください。思っているよりも至って単純です。