LoginSignup
12
11

More than 5 years have passed since last update.

Pipenvが良さげなので、乗り換えてみた

Last updated at Posted at 2019-04-02

(追記) Pipenvとはを書き忘れていたので追記しました。

概要

Pipenvの話を聞いて、なんか良さそうだったのと、
pyenv-virtualenvはコマンドが重くなるという話を聞いて(どの程度かわからないけども)、
condaとpyenv-virtualenvとpyenvが混在してるカオスな状態を改善したいなと思ったので、
これらをアンインストールしてPipenvを入れてみました。
ちなみに私は、ローカル汚したくない、上記のようなごちゃごちゃするのがいやという理由で、
最近開発環境は全部Dockerで構築しているので、普段の開発にはあまり影響ないです(笑)。

Pipenvとは

npmやgemのようにPipfilePipfile.lock生成し、
どのマシン上でも同じ環境になるように管理するためのツールです。
PipfilePipfile.lockを共有し、pipenv installを実行することで同じ環境をセットアップできます。
パッケージのインストール先はデフォルトだと~/.local/share/virtualenvs/下に各仮想環境のディレクトリを作ってそこにインストールされるようです。

既存のツールをアンインストール

1. anacondaのアンインストール

まずはanacondaのアンインストールを行います。
私はpyenvから消したのですが、pyenv-virtualenvからcondaの仮想環境を作った影響か、
色々エラーが出てたので、こちらからやったほうが安全かと思います。

Uninstalling Anaconda — Anaconda 2.0 documentation
anacondaのアンインストールはホームディレクトリにある~/anaconda3を削除すればいいとのことです。
ただし、設定ファイル等が残るそうなので、それが嫌な場合は下記のようにanaconda-cleanパッケージをインストールして実行します。

anaconda-cleanの実行は~/anaconda3を削除する前に行ってください。

# anacondaのアンインストールパッケージをインストール
conda install anaconda-clean

# これを実行
anaconda-clean

# anacondaのディレクトリを削除
rm -rf ~/anaconda3

2. pyenv-virtualenvのアンインストール

brewでinstallしていた場合は、brewからアンインストールしてください。
gitでインストールしていた場合は、この後のpyenvのアンインストールで一緒に行われるので、pyenvのアンインストールを参照ください。

brew uninstall pyenv-virtualenv

私はなぜか2つのバージョンが入ってたらしく、2回コマンド実行しました(笑)

3. pyenvのアンインストール

brewでinstallしていた場合は、pyenv-virtualenvと同様にbrewからアンインストールしてください。

brew uninstall pyenv

gitでインストールした場合は、PYENV_ROOTのディレクトリを削除してください。
この時、PYENV_ROOTにpyenv-virtualenvが含まれているので、一緒にアンインストールされます。

# 一般的なインストール先ならこれ
rm -rf ~/.pyenv

4. 環境変数等の削除

.bash_profile.bashrcなどに追記した環境変数などを削除します。

.bash_profile,.bashrcなど
# pyenvのもの
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

# pyenv-virtualenvのもの
eval "$(pyenv virtualenv-init -)"

# anacondaのもの
export PATH="$HOME/anaconda3:$PATH"

Pipenvのインストール

Pipenvのインストールはpipからインストールすれば終了。

pip install pipenv

これであとはプロジェクトのディレクトリで、下記のようにパッケージをインストールすると、
ディレクトリ下にPipfilePipfile.lockが生成され、
npmやgemのようにパッケージを管理することができます。

pipenv install django

まとめ

MacBookのローカルのPythonの仮想環境が、なかなかにカオスだったので整理してみました。
Pipenv自体の使い勝手はこれからだけども、PythonだけじゃなくてRailsとかnpm扱う人は、
Pipenvのほうが扱いやすいんじゃないかと思います。

おまけ

MacBook買ってすぐにpyenv入れたせいか、OSのPythonにpipすら入ってなくてそのインストールに苦労しました。
あと、Pythonの各バージョンを個別にインストールするのが面倒だったので、pyenv入れ直しました(笑)

参考

pyenv、pyenv-virtualenv、venv、Anaconda、Pipenv。私はPipenvを使う。
pyenv自体のアンインストール方法
綺麗にAnacondaをアンイストールする方法 For macOS

12
11
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
12
11