UTALI

みんなの役に立つ情報をどんどん公開していきます

Python3でvenvを使って仮想環境を構築する

もしPython3を導入していない場合

Macの場合

まずはHomeBrewでインストール

brew install python python3 

Ubuntuの場合

sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get install python3-pip -y

この時一緒にPython3のバージョン管理ツールのpip3も導入される

pip - Pythonのパッケージ管理ツール

HomeBrew でPython3をインストールした時点で利用できる。

Python3の開発 - 仮想環境(venv)を利用するのが一般的

venvはPython3で追加された。それ以前(Python2)ではVirtualenvを使うのが一般的

venvを使うべき理由 - 一言で言えばグローバルな環境を汚すことなくプロジェクトとごとに最適化された環境を用意できるから

例えば、プロジェクトごとにPythonのWebアプリケーションフレームワークのDjangoのバージョンが異なる場合、作業ごとにバージョンを切り替えるのは非効率だからvenvで切り分ける

参考:

virtualenv (venv)があればたいていのことは済む pyenvを便利に使ってる人はいるんでしょう。しかし、pyenvのpython-buildは便利かもしれませんが、そんなに細かくPythonをインストールする必要がある人ってどれだけいるんでしたっけ?

ymotongpoo.hatenablog.com

vienvを利用するための準備は特に不要、Python3.3以上だとデフォルトで利用可能

virtualenvを利用するためのディレクトリを作成

mkdir ~/myproject

virtualenvを初期化

python3 -m venv ~/myproject

virtualenv環境に移動して仮想環境を起動

cd ~/myproject
source bin/activate

こうすることでグローバルな設定を無視して仮想環境で作業することができる

切り替えに起動したらコンソールの先頭に (virenv) がつく

(virenv)mochizuki-MacBook-Air:myproject mochizuki$

もし後は好きなようにパッケージを導入したり削除すれば良い、

仮想環境を抜ける場合

deactivate

仮想環境とグローバルの比較

仮想環境

(virenv) mochizuki-MacBook-Air:myproject mochizuki$ pip3 freeze

グローバル

mochizuki-MacBook-Air: mochizuki$ pip3 freeze

numpy==1.12.1
requests==2.13.0
...