スポンサーリンク


2019年02月12日

AI/機械学習講座(4):venv で Python 仮想環境を構築しよう

venv で実際に Python 仮想環境を構築してみよう

手順は全然難しくない!

 ども勉三です。「AI/機械学習講座」の第4回目。今回はいよいよ venv で Python 仮想環境を構築していきます。

 仮想環境の構築と聞くとすごく難しく感じるかもしれませんが、非常に簡単です。むしろ難しいのは、沢山ある仮想環境のモジュールやパッケージからどれを使えばいいかを選択するところです。このシリーズをご覧の皆さんは、既に「venv を使う」という答えが最初から分かっているので、その部分は既にクリアしていますのでご安心ください。

 勉三は最初どのパッケージを使っていいかわからず、ネットで調べても片手で収まりきらないほど色々なパッケージ名が出てくるので戸惑った覚えがあります。皆様はそんな時間の浪費をなさらぬよう。

まずは下準備

 では実際にやってみましょう。まず Linux のターミナルを起動して、以下のコマンドを1行ずつ順番に打ち込んで実行してみてください。

まずは下準備として練習用ディレクトリを作ります

~$ cd ~
~$ mkdir PythonPractice
~$ cd PythonPractice
~/PythonPractice$(入力待ち)

 Linux に慣れている人であれば簡単かもしれませんが、初心者の方のために詳しく各ステップを解説していきます。知ってるよという方は適宜読み飛ばして頂ければと思います。

 まず1行目では、cd というコマンドでカレントディレクトリ(現在のディレクトリ)を、ログインユーザのホームディレクトリに移動しています(ちなみに Linux ではフォルダのことをディレクトリと呼びます)。Linux では チルダ ~ でログインユーザのホームディレクトリのパスを表します。ホームディレクトリは、Windows でもユーザごとに作られるフォルダがあるので詳しく説明しなくても分かるかと思いますが、各ユーザごとに自動的に作られるディレクトリですね。

 実はこのコマンド、上の例であれば必要ありません。何故なら、$マークの前にカレントディレクトリが表示されており、それが最初から ~ になっている、つまり最初からカレントディレクトリがホームディレクトリだからです。通常、ターミナルを起動するとカレントディレクトリはホームディレクトリに設定されています。ただし、上の例では説明のためと、万が一カレントディレクトリが別の場所に設定されていた場合を想定して、敢えて cd コマンドでの操作を記載しています。

 Linux では常に今どこのディレクトリで操作しているのかを意識することが非常に大事ですので、この例に限らず、何かコマンドを実行しようとする際は常にカレントディレクトリはどこになっているかを意識するようにしましょう。コマンドで pwd と叩いて確認することも可能です(pwd = present working directory の略)。

 次に、2行目では mkdir コマンドを使って PythonPractice という名前の新しいディレクトリを作成しています。この時、パスを指定せず名前だけを指定しているので、mkdir はカレントディレクトリに新しいフォルダを作成します。

 3行目では今作った PythonPractice ディレクトリの中に cd で移動しています。このコマンドを実行すると、4行目のように $ マークの前に ~/PythonPractice がカレントディレクトリとして表示されているはずです。

 以後、基本的にこの練習用ディレクトリ内だけで作業していくことにします。そうすることで、他の必要なファイルを消したりするリスクを最小限にすることができます。

プロジェクトディレクトリを作ってみる

 では、次にこの PythonProject という練習用ディレクトリ内に、Project01 というディレクトリを作ってみましょう。Python に限りませんが、1つ1つのプログラムごとに、1つのプロジェクトディレクトリを作り、そこに必要なファイル類を全て格納するのが基本となります。

次にプロジェクトフォルダを作り、その中に移動します

~/PythonPractice$ mkdir Project01
~/PythonPractice$ cd Project01
~/PythonPractice/Project01$(入力待ち)

 先ほどのコードをきちんと理解していれば、このコードもほぼ同じことをしていることに気づくはずです。このように、Windows ではマウスを使ってやっていた作業を、Linux ではコマンドを叩いて行うのが基本となります。もちろん、Ubuntu ではデスクトップ環境も充実しているので、Windows と同様にマウスで同じことをして頂いても構いません。ですがコマンドに慣れていない方は、基本的なファイル操作から少しずつ Linux のコマンド操作に慣れていくことをお薦めします。Linux を自在に使えることもプログラマーのスキルの1つですし、スキルアップだと思って取り組むと良いかと思います。

仮想環境を作る

 ここまで来たら後は簡単。Project01 ディレクトリ内にカレントディレクトリが設定されていることを確認し、次のコマンドを叩いてみましょう。

仮想環境を構築

~/PythonPractice/Project01$ python3 -m venv venv

 はい、これだけの話です。これで仮想環境ができました。ね、簡単でしょう。

 このコマンドの意味を説明しておきましょう。python3 -m venv というのは、python3 に組み込まれている venv モジュールを呼び出すという意味です。2つ目の venv が、その venv モジュールに対してのパラメータで「カレントディレクトリに venv という名前で新たに仮想環境を作ってね」という指示になります。2つ目の venv は別にどんな名前でも良いのですが、venv というフォルダにするのが慣例となっているので特別な理由がない限りは従った方がいいでしょう。

 間違えやすいポイントとしては、python3 と入力すべきところを python と入力してしまうケース。前回も述べましたが、python と python3 は異なるプログラムとして存在するので区別しなければいけません。python の方には venv モジュールは入っていないので、エラーが出るかと思います。

仮想環境のアクティベートとデアクティベート

 このままでは、まだ仮想環境が作られただけで、その中には入っていません。別途、仮想環境内に入る作業が必要ですので必ず忘れないようにしてください。

仮想環境に入る

~/PythonPractice/Project01$ source venv/bin/activate
(venv) ... ~/PythonPractice/Project01$(入力待ち)

 仮想環境に入ったかどうかは、コマンドラインの行頭に表示される (venv) という表示で判別することができます。これが表示されていれば無事に仮想環境が立ち上がったということになります。なお、... の部分はこれまで省略していましたが、通常はログインユーザ名やホスト名が表示されているかと思います。また、$ より前の部分をプロンプトと呼ばれます。

 逆に仮想環境から抜けるには、以下のコマンドを入力します。

仮想環境から抜ける

~/PythonPractice/Project01$ deactivate
... ~/PythonPractice/Project01$(入力待ち)

 すると、(venv) という表示が消えたのが確認できるかと思います。これで仮想環境から抜けたことになります。

まとめ&次回予告

 いかがでしたでしょうか。今回は venv で仮想環境を構築し、実際に仮想環境に入り(アクティベート)、抜ける(デアクティベート)ところまでを学習しました。次回は、仮想環境内にパッケージをインストールしていくところを解説したいと思います。

スポンサーリンク



posted by 勉三 at 22:14 | Comment(0) | TrackBack(0) | IT
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/185543689
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック