venvとはpythonに標準ではいっている仮想環境を作れるライブラリーです。
特に必要ないと思っている方もいるかもしれませんが、使えるようになっておくとエラーが起きた際に柔軟に対応できるようになります。
同じ環境にさまざまなライブラリーを入れていると依存関係でライブラリーが使えなくなることがあります。
OSをアップグレードした後なども似たような状況になることがあります。
主要なライブラリーをアンインストールして入れ直しても改善されない場合は、仮想環境を作ってインストールしてみると改善されるケースが多いです。
ここではvenvで仮想環境を構築する方法を解説します。
使い方
linuxでの使い方を書いておきます。
Python3.6系から仮想環境はvenvが公式推奨。
別途インストールは不要です。
ターミナルに
python3 -m venv 【仮想環境名】
で仮想環境を作ることができます。
ここではvenvと言うフォルダを作っておきルートに配置しておきます。
そして
cd venv
で移動しておきます。
仮想環境名はvenvでも構いませんが、作業ディレクトリを作ってその名前を入れた方が覚えやすいです。
構築したら仮想環境名を入力して仮想環境を作ります。
できたらターミナルが元に戻ります。
次に
. 【仮想環境名】/bin/activate
この場合は
. venv/bin/activate
で仮想環境に入れます。
ちなみにドットの後に半角スペースが必要。ドットの代わりにsourceでも良いそうです。
この状態でpip3 list でみると殆どはいっていません。
sudo apt updateなどでアップデートとアップグレードを行います。
仮想環境のルートは、この場合仮想環境を作ったvenvのフォルダになります。
必要なスクリプトやファイルなどはこちらに移動しておきましょう。
あとはpipなどでインストールするだけです。
仮想環境を抜ける場合はターミナルに
deactivate
と打つと抜けることができます。
ちなみに仮想環境を初期化したいなと思ったら
python3 -m venv -clear【仮想環境名】
でやり直せます。
仮想環境を使うといいケース
個人的にはエラーが起きなければいいと思っていますので、専用マシンとするなら必要ないと思います。
ただそう言うわけにはいかないですよね。
なのでtensorflowやkerasなど指定が多いライブラリーは仮想環境をお勧めします。
個別に環境を作るのは面倒ですが、動かないよりまし(・w・)
さらに便利に
個別に入れた環境を他でも使いたい場合は
pip freezeで入れているライブラリの一覧をみることができます。
さらに
pip freeze > requirements.txt
(requirements.txtの名前はこれでなくてもいいですが大体そのまま使われています。)
とターミナルに入力して実行すると使用しているライブラリ一覧をテキストに出力。
これをルートにコピーし
pip install -r requirements.txt
とターミナルに入れると一括インストールもできて便利。
何度か使っていると慣れてくるので使えるようになると、エラーで動かない状況から抜け出せるかもしれません。
コメント