Help us understand the problem. What is going on with this article?

pyenvを使わないシンプルなPython仮想環境の構築

More than 1 year has passed since last update.

追記(2018/12/05)

この記事を書いて1年以上経過しました。
最近はPipenvを使うのが最も簡単な環境構築の方法となってきています。
これからPythonを始められる方には「pipenv + pyenv」でPythonのバージョンを指定しつつ、ディレクトリで仮想環境が分かれてくれる開発基盤を整えるのをおすすめします。

まえがき

Pythonの環境構築っていろんな方法あって、初めて環境構築するとなるとわけがわからないですよね。
かといってデフォルトのpythonは2.7だし、そこにpipでいろんなパッケージ入れるとごちゃごちゃするし、何かしら環境分けれるものが欲しいですよね。

という中、半年くらいPython触って、環境構築しては壊しを繰り返すうちに「一番シンプルでは?」という方法に行き着いたのでメモ。

ただし、pyenvを使わないので、バージョン管理はできません。標準インストールされているpython2.7か、これからインストールするpython3.6のみを選択するようになります。
半年ほど使ってみて、python3.6非対応のパッケージ等には出会ったことがないので、特殊な用途に使う以外には問題ないと思っています。

環境

実行環境

  • OS X Serria 10.12.5
  • Homebrew 1.2.3

MacでHomebrew入ってたらなんとかなります。

これから入れるもの

  • python3.6
  • pip
  • virtualenv

pipはPythonのパッケージ管理システムで、パッケージのインストールなどができます。
virtualenvはPythonの独立した環境を作成できるパッケージで、pipでインストールできます。

手順

Python3.6.1のインストール

$ brew install python3

でpython3.6.1が入ります。(2017/06/30時点)

$ python -V
Python 2.7.13
$ python3 -V
Python 3.6.1
$ python3.6 -V
Python 3.6.1

こんな感じになりました。

pipのインストール

$ brew install pip

で入ります。

$ pip -V
pip 9.0.1 from /usr/local/lib/python2.7/site-packages (python 2.7)

virtualenvのインストール

$ pip install virtualenv
...

$ virtualenv --version
15.1.0

インストール自体はここまで。
ここから仮想環境の構築に入ります。

仮想環境の構築

仮想環境を作ると、ディレクトリがひとつ生成されるので、あらかじめ仮想環境を作りたいディレクトリに移動します。

$ mkdir sandbox
$ cd sandbox

$ virtualenv 環境名 -p Pythonのインタプリタ
で、Pythonのバージョンを指定して仮想環境が構築できます。

$ virtualenv testenv -p python3
...

$ ls
testenv

指定した名前(testenv)のディレクトリが生成されました。

仮想環境に入るには、
$ source 環境名/bin/activate
と打ち込みます。

$ source testenv/bin/activate #仮想環境に入る
(testenv) $ pip freeze #なにもパッケージがインストールされていない
(testenv) $ python -V #Pythonのバージョンが3.6.1に
Python 3.6.1
(testenv) $ deactivate #仮想環境を抜ける
$ 

(環境名) $
と表示されたらうまく仮想環境に入っています。
試しに$ pip freezeするとvirtualenvが入っていないことがわかります。
$ python -Vでpython3.6.1の環境となっていることがわかります。

まとめ

Pythonでpyenvを使わずに、シンプルに仮想環境の構築ができました。

chanyou0311
大手企業向けにSNSのマーケティング支援を行っている事業部で、データ分析基盤やWebアプリケーションを構築・運用していいます。
https://chanyou.hatenablog.jp
gaiax
人と人をつなげる Empowering the people to connect.
http://www.gaiax.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away