Pythonの仮想環境

一時停止/再生: [Space]
5秒戻る/進む: [ ← ] / [ → ]
60秒戻る/進む: [Ctrl] + [ ← ] / [Ctrl] + [ → ]
再生速度の変更: [Shift] + [ ← ] / [Shift] + [ → ]
動画を最大画面で再生: [Ctrl] + [Shift] + [F]
最大画面での再生を終了: [Esc]
音量を上げる/下げる: [ ↑ ] or [ ↓ ]

仮想環境とは

Pythonプログラミングでは、「プロジェクトごとに用意する、別々の環境」という意味
プロジェクトごとに、仮想環境を作る
仮想環境ごとに:
そのプロジェクトに必要最低限のライブラリだけをインストールする


例:
プロジェクト「monthly_report」:
エクセルファイルを操作するプログラムを作り込んだプロジェクト
インストールされているライブラリ: openpyxl 3.0.10

プロジェクト「movie_dl」:
動画をダウンロードしてmp3, mp4 を生成するプログラムを作り込んだプロジェクト
インストールされているライブラリ: youtube_dl 2021.12.17, python-ffmpeg 0.2.0

プロジェクト「subdmain1」:
自社のウェブサイト subdomain1.pc5bai.com で動くウェブアプリのプロジェクト
インストールされているライブラリ: django 3.2.13, ..., ..., ...

プロジェクト「subdmain2」:
自社のウェブサイト subdomain2.pc5bai.com で動くウェブアプリのプロジェクト
インストールされているライブラリ: django 4.0.3, ..., ..., ...

プロジェクト「company_abc」:
ABC社さんに依頼されて作っているウェブサイト abc.co.jp で動くウェブアプリのプロジェクト
インストールされているライブラリ: flask 2.1.2, ..., ..., ...


もしも仮想環境を使わないと、どんな問題が起こるか:
openpyxl 3.0.10, youtube_dl 2021.12.17, python-ffmpeg 0.2.0, django 4.0.3, flask 2.1.2, ... すべてインストールする?

エクセル操作するのに、こんなにたくさんいらない...。
相性問題があって動かない!(「xxx と yyy が同時にインストールされていると誤動作します」とか)
django3.2 と 4.0 を共存させられない...。
company_abc で作り込んだプログラムを納品するとき、どのライブラリが最低限必要なのか見ても分からないんだけど?


「仮想環境」を使うと:
プロジェクト内のプログラムが正常動作するのに必要なライブラリ、不要なライブラリの見分けがつきやすい
別プロジェクト用にインストールされているライブラリ間での相性の問題などが起こりにくい
同一ライブラリの別バージョンを使うプロジェクトを同じマシン内に混在させられる
別マシンへの移植が簡単(company_abc をサーバの linux 環境で再現するには、 company_abc の仮想環境にあるものだけで十分)

このページへの投稿/コメント

学習記録としてメモを残す

重要度:   
理解度:   

※メモを残すにはこの講座の利用権限が必要です。