pythonの勉強をはじめたけど、よく聞く仮想環境ってなんだ・・・
- pythonの勉強をしたいけど仮想環境ってなに?
- pythonの仮想環境を使うメリットってなに?
- pythonの仮想環境を初心者でも使うべきなの?使い方は?
みなさんはこんな疑問をもっていませんか?
こんにちは!おへんじといいます!
私はpythonの仮想環境を使ってpythonを勉強をしています
私もpythonを勉強したての頃は仮想環境のことを知らなくて
後々構築をやり直すことになってしまいました泣
今回は僕と同じように後悔する人が1人でも少なくなることを願って
python仮想環境について初心者の方でも理解できるよう解説していきます
- 難しい言葉は使わずに
- 画像・表多めで
わかりやすさにこだわって解説していきます
この記事を読むとわかること・・・
- pythonの仮想環境の仕組み
- 仮想環境を使うメリット
- おすすめのpython仮想環境
解説に入る前に・・・
pythonとは『プログラミング言語』の1つです
人の言葉にも日本語、英語、中国語などいろいろあるように
プログラミング言語にもさまざまな種類があります
pythonはプログラミング言語の中でも最近話題のAIやデータ分析などを
得意としている人気の言語です
もっとpythonについて知りたい方は下の記事で詳しく解説しているので
参考にしてみてください
そもそも仮想環境とは
pythonの仮想環境のメリット・使い方を解説する前に
仮想環境の仕組みについて解説しておきます
分かりやすさのために専門的な言葉を使わずに説明します
仮想環境とは・・・1つのパソコンの中に仮想的な環境を作ることをいいます
〈仮想環境の例〉
- 1つのパソコンの中にpython環境を作成する
- Macの中にWindows環境を作成する
- Windowsでlinux環境を作成する
OSってなんや!!!て思った方のために簡単に説明しておきます
OSを知っている方は読み飛ばしちゃってください
OSはパソコンの中で司令塔の役割をしています
理解しやすいようにフクロウが机で作業している場面に例えて説明しておきます
(フクロウくんがパソコンの中で働いているイメージです)
- OS(オペレーティングシステム):システム全体を管理するソフトウェア
- CPU(中央処理装置):処理の速さ
- 容量(SDD・HDD):データ記録できる量
- メモリ:複数の作業がたくさんできる
このようにパソコンにはOSが搭載されていて、いろんな処理を行ってくれます
Windowsには『WindowsOS』やMacには『MacOS』が搭載されています
話が脱線してしまったので仮想環境の話に戻しますね
仮想環境とは・・・パソコンの中になにかしらの仮想的な環境を作ること
仮想環境は1つのパソコンの中で複数の環境を構築できるので便利ですが、
パソコンの中にもう1つのパソコン(仮想環境)を作るような場合は、
1つのパソコンが分身しているようなものなので処理能力を割り当てて使用することになります
今回は仮想環境の中でもpythonの仮想環境について解説していきます
pythonの仮想環境とは
仮想環境がどんなものかイメージができたところで
続いてpythonの仮想環境について説明していきます
pythonの仮想環境を使うと・・・
pythonにはいろんなバージョンがあって大きく分けると
『python2』と『python3』に分けられます
数字の大きい方が新しいバージョンになっています
そのため現在はpython3を使用するのが主流になっています
python3の中にもpython3.7.2やpython3.9.5など細かく分かれています
このようにpythonにはいろんなバージョンのpythonがあって
仮想環境を使えば好きなバージョンのpythonを使用することができます
〈仮想環境なしの場合〉
〈仮想環境ありの場合〉
pythonはライブラリと呼ばれる便利なツールをインストールして使用します
ライブラリを言葉で説明されてもピンとこないと思うので
わかりやすく図にするとこんなイメージです
- モジュール:pythonの1つのファイルのこと(〇〇.pyはpythonファイルのこと)
- パッケージ:モジュールを複数あつめたフォルダのこと
- ライブラリ:パッケージを複数あつめてインストールできるようにしたもの
いきなりわからない言葉がたくさん出てきて
パニックになっているかもしれませんが大丈夫です
深呼吸してから次に進みましょう
ライブラリ>パッケージ>モジュールの順で
ライブラリが一番大きい!と覚えておけばバッチリです
ちなみに・・・
〇〇.pyっていうのは、エクセルでいう〇〇.xlsxのことです(『.py』や『.xlxs』のことを拡張子と呼びます)
仮想環境を使えば、いろんなバージョンのpythonを使用できて
それぞれのpythonで使用したいライブラリをインストールすることができます
なぜpython仮想環境を使うべきなのか
仮想環境を使用すれば、いろんなpythonが使えることは理解できたけど・・・
- そもそもいろんなpythonを使用する必要があるの?
- 最新のpythonのバージョンを使えばいいんじゃないの?
と思った方は少なくないと思います
複数のpythonを使用する理由はさまざまありますが
分かりやすさのためにギュッとまとめると・・・
最新のpythonにアップデートするときに以下のことがよく起こります
- 最新バージョンのpythonにアップデートすると今まで動いていたプログラムが動かなくなった
- 前のバージョンでは使用できたライブラリが新しいバージョンでは使用できない
- 仕様が変更されていて、なんだか使いにくい
こんなときに新しいバージョンではなく
前のバージョンのpythonも残しておきたい!ということが多々あります
こんなときに仮想環境を使っていれば何の問題もなく解決することができます
私はこれを知らなくて環境構築をはじめからやり直すハメになりました泣
python仮想環境のメリット
python仮想環境の仕組み・使うべき理由が理解できたところで
python仮想環境を使うメリットを紹介していきます
その1 いろんなバージョンのpythonを使える
これは上でも説明したとおり
仮想環境を使用することで複数バージョンのpythonを使用することができます
やりたいことが複数ある場合・・・
やりたいことに適したpythonのバージョンをそれぞれ使用する
やりたいことが1つしかない場合・・・
仮想環境を1つ作成してpythonをはじめることを強くオススメします
その理由については次の項目で解説します
その2 ライブラリがぐちゃぐちゃにならない
仮想環境を使えば複数のpythonを使用できます
その場合、それぞれのpythonで必要なライブラリをインストールすることになります
もし、仮想環境を使用しなかった場合・・・
いろんなライブラリを1つの環境にインストールしまくることになります
ライブラリが多くなりすぎると・・・
- 処理速度が低下する
- エラーの原因となる(相性の悪いライブラリもある)
このようにライブラリをインストールしすぎるのはオススメしません
やりたいことで仮想環境を分けてライブラリを整理整頓することが大切です
最初はめんどくさいかもしれませんが仮想環境の使い方を覚えておきましょう
その3 仮想環境の作成・削除が簡単
仮想環境を作る!と言われたら、初心者の方は
なんだか難しそうでやだな〜と思いますよね
でも安心してください
pythonの仮想環境の作成や削除はすごく簡単にできます
試しにpyenvを使って仮想環境を作る方法(コマンド)を紹介しておきます
〈仮想環境の作成〉
$ pyenv virtualenv 3.7.3 test
『test』は仮想環境の名前です(testの部分は自由に変えられます)
〈仮想環境の削除〉
$ pyenv uninstall test
このようにたったの1行で仮想環境の作成・削除ができます
ちなみに・・・
『pyenv virtualenv 3.7.3 test』や『pyenv uninstall test』などの操作は
- Windows:コマンドプロンプト
Mac:ターミナル
と呼ばれる黒い画面で、この操作を実行します
〈Windows:コマンドプロンプト 〉
〈Mac:ターミナル〉
この他にも作成した仮想環境に移動・pyenvのインストールなども
基本的に1行で操作することができます
その4 実験ができる
上でも書きましたが、ライブラリには相性があって
相性の悪いライブラリをインストールしてしまうとエラーの原因となることがあります
そんなときに実験用の仮想環境を作成して試してみる!なんてことができます
失敗してエラーが出たら、その仮想環境ごと削除してしまえば
本来の使用している仮想環境はぐちゃぐちゃになりません
python仮想環境の種類
pythonで仮想環境を作成する方法はいろいろありますが
よく使われている代表的な方法を紹介しておきます
- pyenv
- venv(標準機能のためインストール不要)
virtualenv
conda(Anacondaとセット)
上記の他にも仮想環境を作る方法はありますが
この4つを覚えておけば十分です
結論を先に言っておくと・・・
最初に仮想環境の設定をしてしまえば
ライブラリの整理ができる
pyenvがオススメ
それぞれの特徴について以下にまとめておきます
〈pyenvについて〉
- pyenvはフォルダの移動だけで仮想環境の切り替えができる(別の切り替え方法もあり)
- 一度仮想環境を設定すれば、意識しなくてもライブラリの整理ができる
〈venvについて〉
- venvはvirtualenvがPython 3.3 から標準機能として取り込まれたもの(別途インストール不要)
- pythonのバージョンの管理ができないのがデメリット
- 標準搭載でインストール不要のため、初心者にはハードルが低い
- 初心者のうちは、シンプルで扱いやすいvenvがオススメ(初心者はバージョン管理まで必要ないから)
〈virtualenvについて〉
- venvと使い方はほぼ同じ
- venvの機能に加えてpythonのバージョン管理ができるイメージ
- python 3.3より前はvirtualenvが標準的に使用されていた
〈condaについて〉
- condaは『Anaconda』と呼ばれるpythonを使うためのパッケージの中に入っている
- 『Anaconda』でpythonをはじめる場合はcondaがおすすめ(その場合、別途インストール不要)
僕は『pyenv』を使っているよ
まとめ
そもそも仮想環境とは
- 1つのパソコンの中に仮想的な環境を作ること
pythonの仮想環境を使うと
- 1つのパソコンで複数のバージョンのpythonを使えるようになる
なぜpython仮想環境を使うべきなのか
アップデートによる不具合を回避するため
アップデートするとプログラムが動かなくなる場合がある
こんなときのために仮想環境を作成しておく
python仮想環境のメリット
いろんなバージョンのpythonを使える
ライブラリがぐちゃぐちゃにならない
仮想環境の作成・削除が簡単
実験ができる
python仮想環境の種類(代表的な4つ)
pyenv(オススメ)
venv
virtualenv
conda
pythonの仮想環境について少しでも理解できたでしょうか
扱い方は比較的簡単なので最初に覚えてしまいましょう!
仮想環境を作って一緒にプログラミングの勉強がんばっていきましょう!
ohenziblogはプログラミングを独学で始めるための徹底ガイドを目指しています