はじめに:仮想環境って何?
PC内に Python環境を仮想的に構築すること!
って、言っても理解に苦しむと思うので下記で詳しく解説します。
つまりどういうこと?
Python言語で何か 1つでも開発したことのある方は「pip」ツールを使用して、必要なパッケージ等をがんがんインストールしまくっていると思います。
開発に必要なパッケージなので、インストールしていくことには全く問題ありません。
何が問題かというと、PC内のローカル環境に落としまくっていることが問題です。(今後)
「pip」の本来の役割は、パッケージ管理です。
開発をしていく上で「バージョン違い」という言葉を耳にしたことがあるかもしれませんが、これによって既存の開発したツールがどんどん動かなくなっていくんですね。。
具体例
前提:上記のように、ローカル環境にパッケージをがんがんインストールして開発をしている。
[1つ目の開発に使用した環境]
・Python 3.9.xx
・パッケージ_1.0.0
・パッケージ_2.0.0
これで、問題なく動作することを確認した!
[2つ目の開発に使用した環境]
・Python 3.9.xx(上記と同じ)
・パッケージ_5.0.0(新規開発で、新たにインストールしたパッケージ)
・パッケージ_2.2.1(上記と同じパッケージだが今回、新たにインストールパッケージと互換性がなかったためアップデートをし「_2.0.0 –> _2.2.1」になった)
何も問題がないように感じられますが、仮に上記の「パッケージ_1.0.0」と「パッケージ_2.2.1」が、互換性なかったとしましょう。
どうなりますか!?
既存の開発したものが動かなくなります。
理由
ローカル環境にインストールし、各開発を行うということは言い換えれば同じパッケージをそれぞれの開発で使い回しているということです。
そこで、新規開発の際に過去のバージョンだと使えないこともあるので「アップデート」をしなくてはならないのは必然です。
もう、割り切って過去に開発したものは絶対に触らないんだ! と、固い決意を決めた方でも、これが同時に開発を行う場合だとそうはいかないんですねぇ。
上記で挙げた例のように、使用しているパッケージのバージョンが片方に依存している場合、片方に合わせた「アップデート」または「ダウングレード」すると、もう片方が動かなくなります。
それを解決するのが仮想環境なんです!
主のPC環境一覧
OS:Mac OS[Monterey]
CPU:Intel Core i7
メモリ:32GB
Python:3.9.4
pip:22.0.3
OS:Windows11
CPU:Intel® Core™ i9 13900KF
Memory:64GB
GPU:NVIDIA® GeForce RTX™ 3070 8GB
Python:3.11.2
pip:20.2.3
[1] 仮想環境の構築(venv)
// Mac
python3 -m venv <仮想環境名>
// Windows
python -m venv <仮想環境名>
[2] 仮想環境の有効化
仮想環境を構築したものの、有効化しなければ意味がありません。
// Mac
$ source <仮想環境名>/bin/activate
// Windows(バックスラッシュに気を付けること)
$ start <仮想環境名>/Scripts/activate
// 上記入力後、以下のようになっていたらOK
(<仮想環境名>) $
上記コマンドの意味:「source」コマンドは「~を実行」というコマンドです。
故に、仮想環境の binディレクトリにある「activate」を実行させて有効化しています。
[3] 具体的な仮想環境の使い方
上の図のように新たに「Python」の環境が、PC内に構築される。
[4] 心置きなくパッケージをインストールしていきましょう(煽り)
※:pip が使えることを確認
// Mac
$ which pip
// Windows
$ where pip
// 主の場合(下記と異なっていても問題ない)
# /Library/Frameworks/Python.framework/Versions/3.9/bin/pip
============================================================
// 以下での確認方法が完結かも、、
$ pip -V
## pip xx.x.x from <インストール先のパス>
「pip」インストール方法
[1] Pythonのデフォルト環境で「ensurepip」モジュールが付属しているのでこれを使う
$ python3 -m ensurepip --upgrade
[2] PC内に「get-pip.py」という Pythonファイルがダウンロードされるので、それを実行
$ cd <「get-pip.py」が、ダウンロードされたディレクトリ >
// pipインストール
$ python3 get-pip.py
============================================================
// 次に、以下のコマンドで pipがインストールされたパスが表示されれば成功
// Mac
$ which pip
// Windows
$ where pip
// 主の場合(下記と異なっていても問題ない)
## /Library/Frameworks/Python.framework/Versions/3.9/bin/pip
============================================================
// 以下での確認方法が完結かも、、
$ pip -V
## pip xx.x.x from <インストール先のパス>
「パッケージ」インストール方法
$ pip install <パッケージ名>
// バージョンを指定してインストールすることも可能
$ pip install <パッケージ名==x.xx.x>
「パッケージ」アンインストール方法
$ pip uninstall <パッケージ名>
インストールされている「パッケージ」の確認方法
$ pip freeze
========================================================
// freezeコマンドは、仮想環境を共有する時にも使用することができる。
// 現状は下記にコマンドのみ記載し、使い方はまた別の記事で解説する。
$ pip freeze > requirements.txt
[5] 仮想環境の無効化
$ deactivate
最後に
これで臆することなく、ガンッガンインストールして色んなパッケージを使いこなせるように精進してください。
comment 📝