8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Pyenv と Pipenv で Python 環境を構築する

Last updated at Posted at 2019-10-29

いままでなにも考えず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をキックしてくれるの最高すぎます。

pyenvpipenv、おすすめです!!!

参考にさせていただいた記事

pyenv、pyenv-virtualenv、venv、Anaconda、Pipenv。私はPipenvを使う。
pythonの環境構築戦争にイラストで終止符を打つ
pyenvが必要かどうかフローチャート
venv: Python 仮想環境管理

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?