見出し画像

Pythonと環境の備忘録


0.はじめに

Anacondaで作った環境にpipでパッケージをinstallしまくってる全国の紳士淑女の皆様こんにちは!!!!!

知ったこっちゃねぇよ動けばいいだろ動けばとか思ってますよね?

私もです。

なんか気持ち悪いなぁとは思ってるんだけど、まぁ便利ですし楽ですし。
ただしまぁAnaconda Navigatorの重いこと重いこと。
嫌気がさして仕方がないので仮想環境について改めてちゃんと復習しておこうかと。


画像6

1.蛇の道は蛇にしてローマに通ず

さてさて検索して色々調べてみるわよー

そしてその数分後、最強の記事に出会ったのである...

pyenv、pyenv-virtualenv、venv、Anaconda、Pipenv。私はPipenvを使う。
https://qiita.com/KRiver1/items/c1788e616b77a9bad4dd

あ、もうこれでいいわ。最強だわ。知りたいこと全部書いてあるわ。
お疲れ様でした。


画像2

2.pyenv,pyenv-virtualenv,venv,Anaconda,Pipenv。私は何を使う。

さて....
正直な話、Python使ってめちゃめちゃ高度な事しようってわけでもないからなんでもいいんだよなぁ...

なんならAnacondaでいいし、今回は自分用にAnacondaコマンド備忘録でも書こうかなぁ...って思ってたぐらいだし....

いやだって日用作業の自動化エトセトラなら正直Anacondaで十分ですし....
要するにやりたいことできればいいんですね。
Raspberry Piでpythonいじってた時はvenv使ってたしそういうことや。


高度な柔軟性を持って臨機応変に仮想環境を作成すればいいじゃないか!


終わり!


以下はコマンド備忘録。
私用で使う分にはAnacondaとvenvで十分だったんでそんだけまとめておくこととする。

画像1

3.Anacondaコマンド備忘録

これは基本。
これさえあれば生きていける。

#仮想環境リストを表示
conda info -e

#仮想環境をactivate 
condo activate <仮想環境名>
#仮想環境をdeactivate
deactivate <仮想環境名>

#パッケージをインストール conda install <パッケージ名>
#パッケージをアンインストール conda remove <パッケージ名>

わかったなこれからはconda installでパッケージ落とせよ?
pip install で落とすなよ?絶対落とすなよ?
以下は追加で覚えておきたいコマンド。

#仮想環境下のパッケージ一覧を出力
conda list -n <仮想環境名>

#仮想環境名を変更 (環境複製後に旧環境を削除)
conda create -n <NEW_NAME> --clone <PREVIOUS_NAME>
conda remove -n <PREVIOUS_NAME> --all

いつもAnaconda Navigatorからクリック&クリックで環境activateしてたけど、これを機会にコマンドから仮想環境行こうね

Anaconda Navigatorは重い。
けどわかりやすい。
ただし重い。

画像3

4.venvコマンド備忘録

anacondaがいつ死んでもいいように、venvも一応メモしておくこととする。
こちら、仮想環境がディレクトリとして保存されるのが良い点であり悪い点であるような気がする。

ちなみにわたくし、初pythonの仮想環境はvenvで作りました。
pyenvとかvenvとか、ほとんどよく分からなかった思い出がある。
今では私もpythonユーザー。
孫に勧めるのはもちろんAnaconda Navigator。
なぜなら彼もまた特別な存在だからです。

以下基本コマンド

 #仮想環境作成 python3 -m venv <仮想環境名>

#activate(Mac,Linux)
source <仮想環境名> /bin/activate#deactivate
deactivate

Windowsは以下の要領でactivateするらしい。
試したことはない。

#activate (Windows)
.\<仮想環境名>\Scripts\activate

個人的にはpip install, pip listに慣れすぎたので、こっちの方が楽なような気がしなくもない。
厳密に仮想環境やパッケージ管理をしなければいけない事態っていうのが
なかなかにないので結局Anacondaに落ち着いている。
というかpythonのバージョン管理が面倒なんだよねこれ...
pythonバージョン管理については次章pyenvコマンド備忘録を参照


画像4

5.pyenvコマンド備忘録

pyenvについての基本コマンド一覧

#pyenvのversion確認
pyenv version

#pyenvにインストールされているpythonのversionを確認
pyenv versions

#globalメソッドを用いたpythonのversion指定 
pyenv global <3.*.*>

#localメソッドを用いたpythonのversion指定
python local <3.*.*>

globalとlocalの違いってなに...?
要するにあるディレクトリにおけるpythonのversionをlocalで指定するわけですね。

MacBook-Pro Desktop % pyenv global 3.7.3
MacBook-Pro ~ % python -V
Python 3.7.3
MacBook-Pro ~ % pyenv versions
 system
 3.6.1
* 3.7.3 (set by /Users/username/.pyenv/version)
 3.7.5rc1
 3.8.1
MacBook-Pro ~ % cd Desktop/test
MacBook-Pro test % pyenv local 3.6.1
MacBook-Pro test % python -V
Python 3.6.1
MacBook-Pro test % cd ..
MacBook-Pro Desktop % python -V
Python 3.7.3

Desktop/test下で pyenv local 3.6.1と指定。
するとtest下におけるpythonのversionは3.6.1になる。
test外ではglobalであるpyton 3.7.3となる。

はぇーこれは当時知らなかった。適当に全部globalにしてたわ。

再発見って感じ


画像5

6.参考サイト

conda コマンドの使い方メモ
https://qiita.com/yasushi-jp/items/7ce0975db7a7e9ac7991
Anaconda仮想環境の名前を変更する方法
https://qiita.com/TyaoiB/items/b858430c289767cb04be
venv: Python 仮想環境管理
https://qiita.com/fiftystorm36/items/b2fd47cf32c7694adc2e
pyenv 利用のまとめ
https://qiita.com/m3y/items/45c7be319e401b24fca8


あとがき.
anacondaにしろpyenvにしろ、pathが全部zshrcに書いてあった。
当時は脳死で色々やってた。
今になってようやく色々合点がいってる感じがして大変に面白い。 
あの時君は若かった。

この記事が気に入ったらサポートをしてみませんか?