仮想環境について
Raspberry PiにはOSを準備すると、デフォルトで2つのバージョンのPython(version2.7とversion3台)がインストールされています。よって、私たちが改めてインストールする必要はありません。ただし、開発する場合には、開発するプログラムによっていろいろなライブラリーを組み込んで開発する必要があります。このライブラリーの組み込み(インストール)で、ライブラリー同士が干渉しあってトラブルが発生して開発でつまずくことが多いことから、インストールしているライブラリを管理しやすいように、プログラム毎に個別の環境を用意し、各環境に必要なライブラリだけをインストールして開発を行うことによりライブラリの導入によるトラブルを減らすことが可能です。
この個別の環境として、仮想環境というものを開発プログラム毎に用意して、上記の個別の環境を実現することが可能です。
ただし、今回の開発ではRaspberry pi のGPIO制御を行うにあたってsudoでの実行が必須となっている箇所があります。よって、今回の開発では、プログラム管理用のフォルダは作成して管理するものの、ライブラリの管理はドキュメント上で管理することとし、仮想環境を利用しない方針とします。
しかし、仮想環境そのものは開発上有効なものであることから、仮想環境の構築の仕方について以下に説明します。
2)仮想環境作成の手順
①仮想環境を作成するためのツールはPython3.3以降標準で入っているvenvを利用します。(※インストールは不要です。)
➁プロジェクト管理用のフォルダーを作成
基本的にはどのようなフォルダー名でも構いませんが、今回は「home/pi」の直下に「Python3Venv」名前のフォルダーを作成します。「home/pi」直下とはpiというファルダの事です。
フォルダの作成はターミナルから行います。Terminalを起動しましょう。Terminalを起動すると下記の画面が立ち上がります。 Terminalで操作したいフォルダを指定する時はcdというコマンドを使ってファルダを移動する必要があります。ですが、Terminalは起動するとデフォルトでhome/pi直下にディレクトリ(ファイル)がありますので今回は移動する必要はありません。フォルダの作成はTerminalに下記を記述し作成する事ができます。
mkdir Python3Venv
➂個別プロジェクト用の仮想環境の作成
上記で作成したフォルダーに移動して下記のコマンドを実行して、個別プロジェクト用の仮想環境を作成します。今回はPython3(pythonのバージョンv3台)で開発開発します。「py3test」という環境を作成します。
cd Python3Venv ←フォルダー移動
python3 -m venv py3test ←環境作成
※赤字の部分はpython3の環境を作成することを指しています。Python2の場合にはpython2と記載して作成します。
※少し実行に時間がかかります。
④作成した仮想環境の起動
作成した仮想環境を起動するには、作成した仮想環境のフォルダ「py3test」以下のコマンドを実行します。
cd py3test ←フォルダー移動
source bin/activate ←仮想環境の起動
実行すると上記のような画面となります。
⑤簡単なPythonプログラムの実行
Pythonを起動します。
python ←Pythonの起動
下記のプログラムを実行します。
print(‘test’)
※Python v3.5.3が起動します。
※問題なく実行できます。
⑥仮想環境を終了する。
仮想環境を終了させるためには、Pythonを終了させて、下記のコマンドを実行します。Pythonの終了はCtrl+Zで終了します。
deactivate
※もとのフォルダーの状態に戻ります。
⑦仮想環境の効果
PCに新たなソフトをインストールする時、手順通りに行っているのにうまくいかない事はありませんか?その多くの原因は別のソフトとの相性が悪く衝突が起こることにあります。1度インストールしたソフトはPCに全体に影響を与える為、衝突の原因になっているソフトをアンインストールしないとうまくインストールできないのです。しかし、どのソフトと衝突しているのかを調べるのはとても難しく、インストールを諦めてしまう方もいるのではないでしょうか。
仮想環境は、例えばライブラリをインストールした場合には、その環境にのみ適用され、他の環境には影響を及ぼしません。
例えば、仮想環境でインストールの必要なライブラリをimportします。
import pyttsx3
インストールしていないのでエラーとなります。
一旦Pythonを終了させて、ライブラリをインストールします。
pip install pyttsx3
その後、再度Pythonを起動してimport します。
今度はインストールしてもエラーとなりません。
では、一旦仮想環境を終了させて通常の環境で同様にimportしてみます。
エラーとなります。これで、他の環境に影響を及ぼしていないことがわかります。
仮想環境の作成は以上です。
※仮想環境で、pythonを起動する場合には今回はpythonバージョン3台の環境作成しているので、コマンドとしては「python」のみでバージョンを意識する必要はありません。
通常の環境では、バージョン3のpythonを起動する場合には「python3」と実行する必要があります。