pythonを使い始めて半年ほど経過しました。それなりに慣れてきた!初めてで慣れない環境構築を一生懸命やってたのが懐かしいくらいです。
ここ最近自分の周囲でもpythonを使いたい!という人がいたので環境構築の方法を教えるために、再度環境構築について調べてみました!そしたら自分の使っている現在の環境があまりにも力技で辻褄を合わせていたで、思い切って環境再構築をやってみました!!
python
の環境構築編をUPしたので、環境構築のみをしたい方はこちらをご覧ください。
#動作環境
- macOS High Sierra 10.13.1
###現在使っているパッケージ
- pyenv 1.1.5
- virtualenvwapper
今回はこの2つのパッケージをアンインストールし開発環境を一新します!
#環境のアンインストール
まずは現在の状況確認を行い、よくわからずにインストールしていった様々なものを全てアンインストールしていきます!
開発環境を構築していた当初、様々なサイトを回ってよくわからないのに次々にパッケージのインストールをしたせいで、PATHの設定がややこしくなったり、正常に動作しなくなったりして最終的に力技で現在の開発環境を整えたので、とりあえず今回を機にキレイにします!
###インストールしたパッケージの場所確認
私は現在pyenv
でpython
のバージョン管理を行い、virtualenvwapper
で仮想環境の管理を行なっています。正直このパッケージの組み合わせはあまり良くないそうです...
なので思い切ってここら辺を一旦アンインストールしていきます!
まずは今使っているpython
とpyenv
とvirtualenvwapper.sh
がどこにあるのか確認します。
$ which python
/usr/local/bin/.pyenv/shims/python
$ which pyenv
/usr/local/bin/pyenv
$ which virtualenvwrapper.sh
/usr/local/bin/virtualenvwrapper.sh
これでアンインストールしたいものがどこにあるのか確認できました。ここで注意事項ですが、ここに出てきたPATHにあるpythonが消してはいけない可能性があります。
python
が本当に消しても大丈夫か不安な方は、こちらの記事が参考になったので先にこちらを読むことをお勧めします。
###パッケージのアンインストール
python
が.pyenv
の下にあるので.pyenv
ごと削除します。
この.pyenv
は隠しファイルなので、コマンドラインを使い慣れていない方はこちらの記事を参考にしてみてください!
次にpyenv
とvirtualenvwrapper
に関係するパッケージをアンインストールしていきます。
まずこの2つのパッケージに関係しているファイルを探します。
$ ls -l /usr/local/bin/ | grep pyenv
lrwxr-xr-x 1 user admin 31 10 20 00:25 pyenv -> ../Cellar/pyenv/1.1.5/bin/pyenv
lrwxr-xr-x 1 user admin 51 10 20 00:25 pyenv-activate -> ../Cellar/pyenv-virtualenv/1.1.1/bin/pyenv-activate
lrwxr-xr-x 1 user admin 53 10 20 00:25 pyenv-deactivate -> ../Cellar/pyenv-virtualenv/1.1.1/bin/pyenv-deactivate
lrwxr-xr-x 1 user admin 39 10 20 00:25 pyenv-install -> ../Cellar/pyenv/1.1.5/bin/pyenv-install
lrwxr-xr-x 1 user admin 54 10 20 00:25 pyenv-sh-activate -> ../Cellar/pyenv-virtualenv/1.1.1/bin/pyenv-sh-activate
lrwxr-xr-x 1 user admin 56 10 20 00:25 pyenv-sh-deactivate -> ../Cellar/pyenv-virtualenv/1.1.1/bin/pyenv-sh-deactivate
lrwxr-xr-x 1 user admin 41 10 20 00:25 pyenv-uninstall -> ../Cellar/pyenv/1.1.5/bin/pyenv-uninstall
lrwxr-xr-x 1 user admin 53 10 20 00:25 pyenv-virtualenv -> ../Cellar/pyenv-virtualenv/1.1.1/bin/pyenv-virtualenv
lrwxr-xr-x 1 user admin 60 10 20 00:25 pyenv-virtualenv-delete -> ../Cellar/pyenv-virtualenv/1.1.1/bin/pyenv-virtualenv-delete
lrwxr-xr-x 1 user admin 58 10 20 00:25 pyenv-virtualenv-init -> ../Cellar/pyenv-virtualenv/1.1.1/bin/pyenv-virtualenv-init
lrwxr-xr-x 1 user admin 60 10 20 00:25 pyenv-virtualenv-prefix -> ../Cellar/pyenv-virtualenv/1.1.1/bin/pyenv-virtualenv-prefix
lrwxr-xr-x 1 user admin 54 10 20 00:25 pyenv-virtualenvs -> ../Cellar/pyenv-virtualenv/1.1.1/bin/pyenv-virtualenvs
lrwxr-xr-x 1 user admin 38 10 20 00:25 python-build -> ../Cellar/pyenv/1.1.5/bin/python-build
$ ls -l /usr/local/bin/ | grep virtualenvwrapper
-rwxr-xr-x 1 root admin 41697 9 27 15:09 virtualenvwrapper.sh
-rwxr-xr-x 1 root admin 2210 9 27 15:09 virtualenvwrapper_lazy.sh
これら全て削除していきます。
まずは.pyenv
から消していきます。
rm -rf .pyenv/
rm: .pyenv//versions/2.7.14/lib/python2.7/site-packages/pbr-3.1.1.dist-info/RECORD: Permission denied
rm: .pyenv//versions/2.7.14/lib/python2.7/site-packages/pbr-3.1.1.dist-info/metadata.json: Permission denied
rm: .pyenv//versions/2.7.14/lib/python2.7/site-packages/pbr-3.1.1.dist-info/WHEEL: Permission denied
省略
rm: .pyenv//versions: Directory not empty
rm: .pyenv/: Directory not empty
あぁ...なんかたくさん出てきた..
とりあえず消えたか確認してみましょう。
$ ls -a
. ghead gstdbuf pg_recvlogical
.. ghostid gstty pg_resetwal
.pyenv gid gsum pg_restore
apm ginstall gsync pg_rewind
atom git-flow gtac pg_standby
消えてないですね...
調べたところPermission denied
とでたらsudo
を使って消したらいいそうです。
気を取り直して再チャレンジ!!
問題なく削除できていた方はこれは飛ばしても大丈夫だと思います。
$ sudo rm -rf .pyenv/
パスワードが要求されると思うので入力します。
またまた確認してみましょう!
$ ls -a
. ghostid gstty pg_resetwal
.. gid gsum pg_restore
apm ginstall gsync pg_rewind
atom git-flow gtac pg_standby
これでOK!ちゃんと.pyenv
を消すことができました。
次はpyenv
とvirtualenvwapper
を消します。
$ find /usr/local/bin | grep pyenv | xargs rm
$ find /usr/local/bin | grep virtual | xargs rm
これでこの2つのパッケージが消えたはず!とりあえず確認してみましょう。
$ which pyenv
$ which virtualenvwapper
これでパッケージ自体は消すことができました!
###PATH設定
パッケージの削除は一通り終えました!続いて設定していたPATHを削除します。私はbash
を使っているので、その他のシェルを使っている人は各自で対応してください。
私はbash_profile
に書き込んでいるのでここから消していきます。
3 if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
4 export WORKON_HOME=$HOME/.virtualenvs
5 source /usr/local/bin/virtualenvwrapper.sh
6 fi
...省略...
12 export PYENV_ROOT="/usr/local/bin/.pyenv"
13 export PATH="$PYENV_ROOT/bin:$PATH"
14 if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
この二つですね。これを消すのですが、またすぐにpython
の環境構築を行う場合、後で必要になるかもしれないので、必要な方はコメントアウトしておくことをお勧めします。
3 #if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
4 # export WORKON_HOME=$HOME/.virtualenvs
5 # source /usr/local/bin/virtualenvwrapper.sh
6 #fi
...省略...
12 #export PYENV_ROOT="/usr/local/bin/.pyenv"
13 #export PATH="$PYENV_ROOT/bin:$PATH"
14 #if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
これで一通りのアンインストールは完了しました!お疲れ様でした!
###Homebrewを使っていた場合
Homebrewを使ってインストールしたものがあるか確認します。
$ brew list
autoconf heroku-node postgresql sqlite
coreutils libpng pyenv tree
freetype openssl pyenv-virtualenv xz
gdbm pcre python3 zsh
heroku pkg-config readline
今回はpython
関係を消したいのでpython3
とpyenv
とpyenv-virtualenv
を消します!
$ brew uninstall python3
Uninstalling /usr/local/Cellar/python3/3.6.2... (3,660 files, 56.6MB)
$ brew list
autoconf heroku-node postgresql tree
coreutils libpng pyenv xz
freetype openssl pyenv-virtualenv zsh
gdbm pcre readline
heroku pkg-config sqlite
$ brew list python3
Error: No such keg: /usr/local/Cellar/python3
これでpython3
は消すことができました!同様にpyenv
とpyenv-virtualenv
も消します!
$ brew uninstall pyenv
Uninstalling /usr/local/Cellar/pyenv/1.1.5... (590 files, 2.3MB)
$ brew uninstall pyenv-virtualenv
Uninstalling /usr/local/Cellar/pyenv-virtualenv/1.1.1... (11 files, 24.7KB)
$ brew list
autoconf gdbm libpng pkg-config sqlite zsh
coreutils heroku openssl postgresql tree
freetype heroku-node pcre readline xz
これでOKです!お疲れ様でした\\\٩( 'ω' )و ////
##ちょっとした雑談
今回はpython
の環境構築について書きましたが、改めて思わされたのが「ちゃんと調べて理解した上で環境構築をやりましょう」ということですね...
python
に関しては環境構築に関する記事はたくさんあるので、一度全てを読んでから実行することをお勧めします。私のように複数の記事を読んで理解してない状態で異なるやり方を実行すると、おかしなことになる可能性があります。一途に進めていきましょう!
###参考にした記事
Pythonの仮想環境構築(2017年版) pyenvとpyenv-virtualenvとvirtualenvとvirtualenvwrapperとpyvenvとvenv
Macに入れた各種Pythonを全部アンインストールしてAnacondaを入れなおす
Mac で不可視ファイル(隠しファイル)を表示・削除する5つの方法
find、grep、rmを組み合わせてファイルを削除する方法
【Mac】【Homebrew】Python 3 をアンインストールする手順