LoginSignup
0
0

More than 1 year has passed since last update.

EnvaderでPythonの環境構築を学んだのでmacOSで実践してみる(第5回)

Last updated at Posted at 2022-04-21

はじめに

はじめましてa-min3150です。エンジニアへの転職を目標に学習中です。
アウトプットのためEnvaderで学習したこと、ハマったことなどを書いていきたいと思います。

今回の学習内容

EnvaderでPythonの環境構築について学習したのでアウトプットします。

今回は第5回目でmacでのvirtualenvを使った仮想環境設定についてです。

第1回(Pythonとは)はこちら
第2回(pyenvについて)はこちら
第3回(pipについて)はこちら
第4回(venvについて)はこちら
第6回(requirements.txtの使い方)はこちら
第7回(git cloneの使い方)はこちら

virtualenvについて

virtualenvは一つのシステム内に複数の開発環境(仮想環境)を作ることができます。
開発するアプリが変わった際に virtualenvを使って仮想環境を作成するだけで、パッケージ、バージョンの変更ををスムーズに行うことができます。

venvとvirtualenvの違い

venvvirtualenvがPython3.3から標準機能として取り込まれたもので、他からソフトウェアをインストールする必要がないため、簡単に仮想環境を作成管理することができます。

  • venvとvirtualenvの違いはPython自身の管理ができるか否かです。

  • venvはPython 3.x.x 下に組み込まれた機能なので、Python自体のバージョン管理はできません。

  • virtualenvはPython自体のバージョンも管理することができます。

  • venvで作成した仮想環境はPythonの別のバージョンに切り替えることはできないので注意しましょう。

virtualenvのインストール

$ sudo pip install virtualenv

Pythonにデフォルトで組み込まれているコマンドではないためインストールする必要があります。

virtualenvを使った仮想環境の利用

前回venvと同じで。
仮想環境を利用するには主に

作成、起動、停止

の3つの手順が必要になります。

新しい環境の作成

まずは新しい仮想環境を作成しましょう。

$ mkdir プロジェクトディレクトリ名 
$ cd プロジェクトディレクトリ名
$ python3 -m virtualenv 仮想環境名
      or
$ python3 -m virtualenv -p 利用したいPythonのバージョン(例: python3.6) 環境名

まずは専用のプロジェクトディレクトリを作成して移動しましょう。
そしたら、プロジェクトディレクトリの直下に python3 -m virtualenv 仮想環境名 として新しく仮想環境を作成しましょう。オプション -p を使用すればPythonのバージョンを指定することができます。

仮想環境の起動

仮想環境を作成しただけでは仮想環境を使用することはできません。

起動することで初めて利用できるようになります。

$ source 仮想環境名/bin/activate
sourceコマンドの後に 仮想環境名/bin/activate とすることで、作成した仮想環境を起動することができます。

コマンドラインには以下のように先頭に仮想環境名が書かれていると思います。その状態の時が仮想環境を起動している状態です。

(仮想環境名) $ 
pythonのバージョンを確認しましょう。

(仮想環境名) $  python -V
Python 3.x.x

venvを実行するとコマンドは作成した環境で設定されているバージョンのコマンドが実行されるようになります。

仮想環境の停止

仮想環境を停止するときは deactivate コマンドを実行することで仮想環境を終了することができます。

(仮想環境名) $ deactivate 
$ 

実行した後に仮想環境名がコマンドラインの先頭から消えていれば、仮想環境を停止することができています。

macOSでvirtualenvを実践してみる

pipコマンドを使ってvirtualenvをインストールする。

macOS:Desktop user$ sudo pip install virtualenv

pip listでインストールできたか確認

macOS:Desktop user$ pip list
Package      Version
------------ -------
pip          22.0.4
setuptools   58.1.0
virtualenv   20.14.1

Desktop上に「test_virtualenv」ディレクトリを作成し、そこに移動します。

macOS:Desktop user$ mkdir test_virtualenv  && cd $_

インストールしているpythonのバージョンリストを確認します。
(globalではpythonバージョン3.10.2に設定されている。)

macOS:test_virtualenv user$ pyenv versions
  system
  2.7.10
* 3.10.2 (set by /Users/user/.python-version)
  3.7.0

「test_virtual」という仮想環境を作成し、pythonは2.7を指定します。

macOS:test_virtualenv user$ python -m virtualenv -p python2.7 test_virtual

「test_virtual」という仮想環境が作成された.(指定した仮想環境名と同じ名前のディレクトリが出来上がる。)

macOS:test_virtualenv user$ ls//lsコマンドでディレクトリ作成された確認。
test_virtual

virtualenvの仮想環境を起動する

macOS:test_virtualenv user$ source test_virtual/bin/activate

(test_virtual)がつき、仮想環境の起動を確認。

(test_virtual) macOS:test_virtualenv user $

この状態でpythonのバージョンが指定したものになっているか確認します。

(test_virtual) macOS:test_virtualenv user $ python -V
Python 2.7.10
//指定したバージョンになっている!!

仮想環境を終了させる。

(test_virtual) macOS:test_virtualenv user $ deactivate
macOS:test_virtualenv user $ 
//(test_virtual)の表示がなくなり、終了できた。

終了させるとPythonのバージョンはpyenvで設定しているものに戻ります。

macOS:test_virtualenv user $ python -V
Python 3.10.2

まとめ

今回はvirtualenvについて解説しました。

virtualenvvenvには明確な違いがあり、

  • pythonのバージョンを変える場合があるときはvirtualenvを使うようにしましょう。

  • 仮想環境を利用するときは作成、起動、停止3つの手順があります。

次回はrequirements.txtの使い方について解説します。

引用サイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0