Python 備忘録 投稿一覧

Pythonでアプリ開発の前に仮想環境を準備しよう!

LINEで送る
Pocket

 

ここ2ヶ月 AIなどの機械学習やWebアプリケーションなども作ることができるサーバー言語のPythonについて学習をしており、備忘録を残していこうと思います。

Python を使ってアプリ開発や機械学習の実験を行う際、さまざまなライブラリやフレームワークを導入していきますが、それらを毎回自分のPCに直接インストールをしていくとPCが重くなっていくため、あまり推奨されません。

「タスクアプリを作る」、「チャットアプリを作る」、「ディープラーニングなどの画像診断実験をする」といった時、その用途に応じて専用の実行環境を作成し、切り替えて使用するのが一般的です。

このように、一時的に作成するプログラミング実行環境を、「仮想環境」 と言い、Pythonアプリ開発での最初の準備になります。

仮想環境導入のメリット

仮想環境導入のメリットをまとめます。

  • アプリ開発時、Pythonのライブラリやフレームワークを開発アプリごとにインストールして管理することで、モジュールの追加や入れ替えを行う際、システム全体への影響を防ぐことができる。
  • アプリ開発においてPythonやモジュールの異なる複数のVersionを使い分けができる。Python 3.7 で Webアプリケーションフレームワークとして Django の 1.10 を使い、新しいプロジェクトでは Python 3.8 とDjango バージョン 1.11 を使用したい場合など、簡単に切り替えられるようにしたいなど。

上記のような理由からアプリ開発前の準備として仮想環境の構築をしておくと良いでしょう。

venvでの仮想環境構築の手順

Python3 を導入すると実は venv という仮想環境構築用の標準ライブラリが搭載されており、最もスタンダードなPython仮想環境作成する方法ですので手順を紹介していきます。

今回は例として、デスクトップにPythonのタスク管理Webアプリ(task_appという名前にします)開発のプロジェクト格納用のディレクトリを作成することとします。

まずはアプリ開発用プロジェクトディレクトリの準備から

まずは次にWindowsならコマンドプロンプト、Macならターミナルを開き、MacもWindowsの方も次のコマンドでDesktopに移動します。

cd Desktop

次のコマンドでディレクトリ task_appを作成します。直接デスクトップ上で新規フォルダ作成(フォルダ名:task_app)していただいても問題ありません。作成後、デスクトップにフォルダができているか確認してください、Windowsなら dir、Macなら ls、と入力すると現在の階層にあるファイル名やフォルダ名が確認できます。task_appができているか確認してください。

mkdir task_app

※予備知識でとしてひとつ上のディレクトリに戻るには、以下コマンドを入力します。ディレクトリの移動の基本は cd と cd .. です。

cd ..

task_appフォルダが作成できたらcd コマンドでtask_appフォルダ内に移動しましょう。

cd task_app

venvコマンド仮想環境実装

それでは仮想環境 kasou を実装します。以下venvコマンドで 仮想環境を作成ができます。

Windowsなら

python -m venv kasou

Macなら

python3 -m venv kasou

※Macの場合、Windowsのようにpython -m venv kasou のpythonの後に3をつけないと、python2系が標準でインストールされている場合にpython2系で仮想環境が作成されてしまうため注意が必要です。

上記で仮想環境の作成は完了です、Python標準ライブラリのため、venv コマンドを入力するだけで仮想環境が出来上がります、便利ですね。

仮想環境の切り替え(実行):activate

今後仮想環境を利用してアプリ開発や実験を行う際は、venv フォルダがあるディレクトリで下記コマンドを実行します。

Macなら

source venv/bin/activate

実行後、ターミナルに表示されているパスの左に (venv) と表示されていれば仮想環境がアクティブ化されています。

※バージョン指定で仮想環境作成する場合

例) python3.8で仮想環境を作成する場合

py -3.8 -m venv venv

*事前に該当バージョンがインストールされていなければできません。複数バージョンをインストールしている場合に、仮想環境のバージョンを指定することができます。

Windowsの場合は、PowerShellでスクリプトの実行を許可しておく必要があるため、初回のみ仮想環境実行前に以下のコマンドを入力/実行してください。以降仮想環境実行時は入力不要です。

Set-Executionpolicy RemoteSigned -Scope CurrentUser

上記コマンドを初回は入力しておかないと以下のようなエラーが表示される場合があります。

.\venv\Scripts\Activate.ps1 : このシステムではスクリプトの実行が無効になっているため、
ファイル C:\Users\user1\venv\Scripts\Activate.ps1 を読み込むことができません。
詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170)
を参照してください。
発生場所 行:1 文字:1
+ .\venv\Scripts\Activate.ps1
+ ~~~~~~
    + CategoryInfo          : セキュリティ エラー: (: ) []、PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

実行ポリシーを聞かれたら、「Y」を入力。 これで、今後仮想環境を作成しても「PSSecurityException」エラーは出ません。

上記対策後、以下コマンドで アクディブ化します。

python -m venv venv

仮想環境の終了(deactivate)

開発作業が終了したら以下コマンドで仮想環境を終了しましょう。

MacもWindows以下のコマンドで仮想環境を終了できます、(venv)が外れていることを確認してください。

deactivate

※すでにAnacondaを導入している場合

AnacondaはPython本体及びPythonでよく利用されるライブラリをセットにしたPythonパッケージで、すでに導入済みの場合、venvでの仮想環境がうまく動作しない場合がありますのでこちらを試してください。

作成した仮想環境の確認

次のコマンドで仮想環境のディレクトリとパスが表示されます。

conda info -e

仮想環境の作成

新しい仮想環境を作成するコマンドです。

仮想環境名をvenvとする場合の例

conda create -n venv

仮想環境ができたら、再び下記実行してできたフォルダの場所を確認してください。

conda info -e

仮想環境の実行

仮想環境名をvenvとする場合の例

Macなら

conda activate venv

Windowsなら

activate venv

アクティベートの終了

Macなら

conda deactivate

Windowsなら

deactivate

ライブラリのインストール

カレントディレクトリに移動、パスはconda info -eの結果を使うなどして自分の環境に合わせてください。

conda install ライブラリ名

まとめ

以上で、仮想環境の構築ができました。作成するアプリごと実験ごとに仮想環境構築を行うことでPCへよきせぬ影響を防ぎ、管理しておくことをオススメします!

LINEで送る
Pocket

-Python, 備忘録, 投稿一覧
-,