venvでPythonの仮想環境を作ろう【初心者向けチュートリアル】

プログラミング

あなた

あなた
「Pythonでプログラミングする時、venvってのを使って仮想環境を作るといいって聞いたんだけど、どうやって使ったらいいんだろう?そもそも、なんで仮想環境を作る必要があるの?」

そんな疑問にお答えします。

この記事で分かること

  • venvでPython仮想環境を作る方法
  • venvでPython仮想環境を作るメリットとデメリット

Pythonの仮想環境って何よ?

Pythonの仮想環境って何?

仮想環境ってパッと言われても、初めて聞くと少しイメージしづらいですよね。

ざっくり言うと、「いろんなPythonのお店を作っていく」みたいなイメージ。

例えば、あなたは”Pythonプログラミングショップ”のオーナーで、こんなお店を経営してるとします。

  • お店A(仮想環境A):データ分析をする店
  • お店B(仮想環境B):AIプログラミングをする店
  • お店C(仮想環境C):Webアプリを作る店

どのお店も、やってることが全然違いますね。多分、お店の内装だってそれぞれ変えたくなるはず。

このお店一つ一つが、まさにPythonの仮想環境。Pythonでプログラミングしたい目的に合わせて、仮想環境というお店を立てるわけですね。

あなた

あなた
「データ分析もして、AIプログラミングもして、Webアプリも作る、っていう一つのお店で良くない?」

そう思ったあなた、するどい。そう、別に仮想環境なんて作らずに、”何でも屋さん”としてプログラミングしてもいいんですよ。

仮想環境を使う理由は、プロジェクトごとにPythonプログラミングで何を作っているのかを分かりやすく区別しておくため。

だから、必要ない!っていう人にとってはまったく必要なし。でも、将来的にプログラミングを仕事にしたいなら、今から使い慣れておくことをオススメします!

venvでPython仮想環境を作る

Pythonの仮想環境を作る

Pythonの仮想環境を使うメリットデメリットは後回し。ひとまず仮想環境を作ってみましょう。

作るのも、消すのも、超簡単。ここで使うのは、venv(公式サイト)というPythonの仮想環境を作るためのライブラリ。

ライブラリって何?
-> 便利に使えるPythonプログラムをまとめたもの。

こんな流れで説明していきます。

  • Pythonのインストール
  • venvでPython仮想環境を作る
  • Python仮想環境を消す

一つずつ、掘り下げてみます。

Pythonをインストール

はじめに、Pythonのインストール。もうインストールしてあるよ!っていう人は、次に飛んじゃってくださいね。

まだPythonをインストールしたことがない!っていう方は、この記事を参考にしてみてください。

大量の画像付きチュートリアルなので、Pythonを使った簡単なプログラミングまで詳しく説明してあります。

venvを使ってpython仮想環境を作る

最新のPythonをインストールしたら、あとはvenvを使ってPython仮想環境を作りましょう。

あなた

あなた
「venvってインストールしなくていいの?」

と思ったあなた、ご安心を。Python3.3あたりから標準で組み込まれたので、最新のPythonを使っていたらインストール不要です。

では、まずターミナルを開きます。アプリケーション/ユーティリティのフォルダの中にあります。Windowsならコマンドプロンプト。

そのターミナル上で、Pythonプログラミングをするフォルダに移動します。

cd フォルダ名

フォルダの中に移動したら、このコマンドでPython仮想環境を作ります。

python3 -m venv .venv

.venv と書いた部分は、好きな名前でOK。あとは、この仮想環境をアクティベートするだけ。仮想環境というお店をオープンするイメージですね。

source .venv/bin/activate

すると、ターミナルの頭に (.venv) とつきます。これで、あなたの作った .venv というPython仮想環境が完成。

この仮想環境の中なら、どれだけ失敗しても、どれだけ散らかしても大丈夫。好きなだけPythonライブラリをインストールして、好きなようにプログラミングしちゃいましょう。

一通りプログラミングが終わったら、仮想環境から抜けておきます。こんなコマンドです。

deactivate

アクティベートの反対で、ディアクティベート。分かりやすい。

ターミナルで頭についていた (.venv) という表示が無くなれば、無事に仮想環境を抜けられました。

venvで作ったPython仮想環境を消す

これも簡単。さっき作った .venv というフォルダを消すだけです。

仮想環境を作り直したい!って思ったら、作った仮想環境のフォルダを消しちゃいましょう。ターミナルからだと、こんなコマンドです。

rm -rf .venv

.venv っていうフォルダを rm (remove)するぜ!っていうコマンド。-rf は、フォルダの中身全て強制的にまるごと消すぜ!っていうオプション。

このコマンドで消したフォルダは復元できないので、間違って .venv 以外を消さないように要注意。

venvでPython仮想環境を使うメリット

Python仮想環境のメリット

Python仮想環境の作り方がわかったところで、仮想環境を使うメリットも知っておきましょう。

メリットはこの2つです。

  • OSの環境を汚さない
  • あなたのPythonプログラムで使ってるライブラリが分かりやすい

パソコンの動作に影響を与えずに、自由にPythonプログラミングができるのは安心ですね。

そして、どのPythonプログラムでどんなライブラリを使っているのか、ちゃんと整理整頓できるのも便利です。

例えば、仮想環境をアクティベートしてこんなコマンドを打てば、使っているライブラリのリストをすぐに作れます。

pip3 freeze > requirements.txt

pip freeze で吐き出したライブラリのリストを requirements.txt に書き出す!っていうコマンドです。

エンジニア仲間

エンジニアの友人
「このPythonプログラムってどのライブラリ使ってるの?」

そんな風に聞かれたら、仮想環境に入ってライブラリのリストを作成して渡すだけ。便利ですね!

仮想環境に分けていないと、ひとつひとつ調べなきゃいけないので面倒ですよ?

venvでPython仮想環境を使うデメリット

Python仮想環境のデメリット

ぶっちゃけ、ほぼないです。強いていうなら、この1点。

イマイチよく分からない場合は、Python仮想環境を使うデメリットはない!と考えて大丈夫です。

Dockerって何?
-> コンテナという形式で、OSレベルの仮想化ができるソフト。

venvとDocker、使い分けるならこんな感じでいいかと。

  • venv:あなた自身でPythonプログラミングをサクッと試す時
  • Docker:他の人に仮想環境をまるごとシェアする可能性がある時

あなただけが使うプログラムなのか、あとから他の人にシェアするのか、の違いですね。

私も、たまにこんなツイートするくらい、Dockerとvenvで迷う時があります笑

venvを使いこなせば、あなたもpython中級者

Python中級者になろう

venvを使ってPython仮想環境を作る方法の解説でした。

Pythonってすごく使いやすいプログラミング言語なので、すぐにパッと何か作って試したくなっちゃいますよね。

でも、そのまま使ってしまうとOSの環境を汚したり、どのライブラリを使っているのか分からなくなったりして、後から大変。

ちゃんと整理整頓できるように、積極的にvenvでPython仮想環境を活用していきましょう。