Pythonで仮想環境

プログラミング

なんか難しそう

前回でやっとインストールが終わってこれから始めるぞ!というときに何か急に難しいことを言い出した感がありますよね?

私もPythonをはじめた頃からちょいちょい目にはしていたものの、スルーしてきた項目でした。

ただ、Pythonを使っていくうちに仮想環境を使ったほうがすっきりすることも出てきましたので、ここでは最初から設定していく方針で紹介させていただきます。

仮想環境とは?

ざっくりいうと、複数の環境を使い分けられる機能です。

先ほどインストールしたPythonをもとに、独立したPython実行環境を作る感じです。

環境をコピーしてくるイメージです。

そうすると何がいいのか?

その目的環境個別用意できる

ざっくりいうとそんな感じです

Pythonはライブラリというものをインストールして利用していくのですが、例えば画像を扱う系のプログラムを作る場合と、Web系のプログラムでは使うライブラリが変わってきます。

一緒の環境にインストールしてしまってもいいのですが、環境は分けた方がすっきりします。ライブラリがごちゃついていると遅くなることもあるらしいです。

あとはお試しでライブラリを入れてみたいとき、テキトウな仮想環境に入れてみてダメだったら仮想環境ごと捨ててしまうことができます。

というわけで、最初の方では不要なのですが、慣れる意味でも使い方を覚えておいて損はありません!

今回の目標

シンプルに常用する環境をSTD(Standard的な)という名前の仮想環境で作ってみます。

しばらくはなんでもかんでもこのSTDの中でやっていくことになります。

仮想環境を作ろう

今回は使いまわすことを前提とした仮想環境なのでユーザーフォルダ内に配置してみます。

pyenvはpythonのenvironmentみたいな感じです。ここに用途別に仮想環境をおきたいと思います。

その下に今回のお目当てのSTDフォルダを作ります。

そうしたらPowerShellからSTDフォルダまで移動しましょう。

cd
mkdir pyenv\STD
cd \pyenv\STD\

cdというのは移動用のコマンドです。

一回目のcdで行先を指定しない場合、自分のフォルダに移動します。

ここで、mkdirコマンドを使って、pyenvとその下に配置するSTDフォルダを作成します

そこから先ほど作ったpyenv\STDに移動します。


続いて、実際に仮想環境を作ります

python -m venv venv

はい、何言っているかさっぱりわかりませんよね?

解説をしますと、仮想環境はvenvという名前のフォルダにするのが通例らしいです。③

そして、仮想環境を作るコマンドはvenvというコマンドです。②

python -m はpythonに内蔵されているコマンドを実行しますという意味です。①

つまり、

  • ① python -m : pythonのコマンドである
  • ② venv : 仮想環境を作るコマンドで
  • ③ venv : venvという名前の仮想環境を作る

ということになります。


さて、仮想環境はうまく作成できたでしょうか?中身を見てみましょう

cd venv
ls

これは先ほど作ったvenvに移動して、lsコマンドでフォルダの中身を表示させる、という内容です。

こんな感じのものがあれば成功です。

ここまでのまとめです。

仮想環境に入ろう

仮想環境に入るためのアイテムは上記で現れた「Scripts」というフォルダの中にあります。

Scriptsへ移動しましょう。ついでにlsでフォルダの中身も見てみましょう

cd Scripts
ls

python.exeとか本体っぽいものがいることが確認できます。しかし今回の目的のブツは「Activate.ps1」というヤツです。

これを実行することで仮想環境に入れます

.\Activate.ps1

成功すると左に緑文字で(venv)となっていることが分かります。これで仮想環境に入れていることが分かります。

ただ、おそらく多数の人はActivate.ps1の実行でエラーが出るのではないでしょうか

これはたぶんPowerShellでスクリプト実行が禁止されているため出ていると思います。

なので、PowerShellで以下のコマンドを実行してください。もしかしたら管理者権限でPowerShellを立ち上げる必要があるかもしれません。

Set-ExecutionPolicy RemoteSigned -Scope Process -force

試してみよう

さて、仮想環境でちゃんとプログラムが動くのか確認してみましょう。

前回のPythonのインストールと同様に、Hello worldをやってみましょう

まずはpythonに入ります

python

続いてコードを打ち込みます

print('Hello World')

できましたでしょうか?

続いて、ちゃんと環境が分けられてるの?というチェックをしてみたいと思います

環境が分けられているかチェック

試しにライブラリをインストールして、本体と仮想環境の両方から呼び出して、ちゃんと環境が分かれているのか確認してみます。

有名なライブラリのpandasをいれてみましょう。せっかくなのでインストーラーのアップデートもしてしまいます。

まずは仮想環境からです。例によって仮想環境にinします。もう入っている人はやらなくて大丈夫です。

cd
cd \pyenv\STD\venv\Scripts\
.\Activate.ps1

続いてpandasのインストールです

python -m pip install pandas

なんかいっぱい入りました。いらないよっていう人は後で仮想環境ごと削除しちゃってください。STDをフォルダごと削除すればOKです。

ライブラリを呼び出します。まずはpythonの実行環境に入ります

python

続いてコードを書きます。importコマンドでライブラリを呼び出してみましょう。

import pandas

import pandasした後で怒られなければ成功です。

続いて、最初にインストールしたオリジナルの環境に移ります。deactivateで仮想環境を抜けるだけです。

ちょっと冗長になってしまうのでコマンドをまとめて書きます。

deactivate
python
import pandas

さて、エラーがでました。つまりオリジナルの環境ではpandasはインストールされていなかったわけです。

これで環境が分離できていることが確認できました。


さて、長くなってしまいましたが、今回はここまでです。ぜひ仮想環境を使ってみてください。

ここまで読んでいただきありがとうございます!

コメント

タイトルとURLをコピーしました