いままでなにも考えずanacondaを使っていたのですが、なんとなくanacondaをやめたくなったので、いろいろ調べました。
いろいろ調べた結果、pyenvとpipenvの組み合わせが最強な気がしたので、これらをインストールします。
この記事ではpyenvとpipenvのインストールの仕方と、それぞれの基本的な使い方をまとめてみようと思います。
pyenvのインストール
pyenvはpythonのバージョンを管理するツールです。
「この参考書ではpython 3.7.1を使ってるけど、こっちのちょっと古い参考書ではpython 3.3.7を使ってる。。。
どっちのpythonも残しておくにはどうしたらいいんだろう??」
を解決するツールです。
githubを読んでインストールします。macならhomebrewがラクです。
https://github.com/pyenv/pyenv
pyenvの使い方
pyenv -h
でコマンド一覧が見られます。
よく使いそうなのは、
pyenv install --list
pyenv install x.x.x
pyenv versions
あたりでしょうか。使いやすそうですね。いいですね。
pipenvのインストール
pipenvはパッケージマネージャです。pythonのパッケージ依存関係を管理します。rubyでいうbundler、nodeでいうnpmですね。
パッケージマネージャはpipenv以外にもvenvやvirtualenvがありますが、pipenvはpython公式でも紹介されていますし、他のものより高性能かつ使いやすいので、特にこだわりがないのであればpipenvでいいと思います。
githubを読んでインストールします。これもmacならbrewでいけますね。素晴らしい。
https://github.com/pypa/pipenv
pipenvの使い方
pipenv -h
をして確認します。
そもそもなぜpython環境構築は渾然としているのか?
pythonの開発環境はこの記事で紹介したanacondaやpyenv, pipenv以外にもあります。
そこで、なんでそんなにあるの? なんでいくつもインストールしなきゃいけないの? てかひとつでよくね? と思うわけですが、それは、管理する対象が3つあるからです。
- python自体のバージョン管理
- pythonパッケージの管理(各パッケージ間の依存関係の管理)
- pythonパッケージインストールツール
上記3つをそれぞれ管理しなきゃいけないので(絶対にしなきゃいけないわけではないけど)、組合せ爆発的に開発環境手法が増えてしまうわけですね。大変ですね。
参考記事
pyenv、pyenv-virtualenv、venv、Anaconda、Pipenv。私はPipenvを使う。
おわりに
この記事を書きながらインストール作業をしていたのですが、pipenv、すごく強いですね。
特にpipenv --python x.x.x
ってやるだけでpyenvをキックしてくれるの最高すぎます。
pyenvとpipenv、おすすめです!!!
参考にさせていただいた記事
pyenv、pyenv-virtualenv、venv、Anaconda、Pipenv。私はPipenvを使う。
pythonの環境構築戦争にイラストで終止符を打つ
pyenvが必要かどうかフローチャート
venv: Python 仮想環境管理