🚀

【仮想環境】難しく考えず大枠をとらえてみよう

に公開

はじめに

Pythonでプログラムを書くときは、コードだけでなく「実行するための環境」が必要になります。
Pythonで書いたコードはただの文字です。ただの文字を読むために必要なのが環境ですね。

みなさんPCにPythonをインストールしましたね。
これで立派な「Pythonが動く環境」が1つ構築されたともとらえられます。
その上で、Flaskなどのフレームワークやライブラリを追加することで環境を磨いていきます。

仮想環境とは何か

では、仮想環境とは何か。

Pythonを1つだけインストールした状態だと、その環境に入れたライブラリやバージョンをすべてのプロジェクトで共有することになります。

すると例えば、

  • プロジェクトA → Flask 1が必要
  • プロジェクトB → Flask 2が必要

みたいな場合に、そのままだと共存できず問題が発生します。


そこで使うのが仮想環境です。

仮想環境は、1台のPCの中に「プロジェクトごとに独立したPython実行環境」を作る仕組みです。

  • プロジェクトAはPython 3.8 + Flask 1系
  • プロジェクトBはPython 3.11 + Flask 2系

のように、それぞれ別の条件で動かせます。


仮想環境の目的はシンプルで、
プロジェクトごとに環境を分けて、依存関係の衝突を防ぐことです。

  • 他のプロジェクトに影響を与えない
  • 同じ環境を再現しやすくなる
  • トラブルが起きたときに切り分けやすい

といったメリットがあるのです。


実務で想像しやすいところでいうと、同じ環境を再現するという点でしょうか。
私のPCと、上司のPCと、取引先のPC。
これらがすべて別の環境下で動いていたら話が進められません。
同様の環境を作ることでありとあらゆる想定が可能になり、再現性が生まれます。

最後に

正直私自身も独学で学んでいたときは、言葉の威圧感から遠ざけていました。
同様の初心者エンジニアの方もたくさんいるのではないでしょうか。
私の場合は大学の専門分野が、Unreal EngineやTouchDesignerを活用した映像作品制作でしたので、
一つのバージョンで動けばよかったという点が逃げ道になっていたのかもしれません。

ただそんな大学4年間避けていた私でも、学んでみたら割とあっさりと理解できました。別にそこまで複雑なものでもないのかもしれません。
そこまで怖がらずに一度やってみるのもいいと思いますよ!

ヘッドウォータース

Discussion