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

仮想環境 バージョン管理 まとめ Python

More than 1 year has passed since last update.

概要

Pythonは2系と3系でそれぞれ互換性がありません.
この関係から二つのバージョンのものが出回っています.

仮想環境管理の方法が分かりやすく紹介しているスライドがあったので
そのスライドの内容をお借りし,自分がメインで使っているvirtualenvの内容を付け足しました.
詳しく知りたい方は,参考文献を参照してください.

pyenv-virtualenvはディレクトリごとに設定でき,vitualenvと違って使用時にactivateする必要がないので一番おすすめです

仮想環境紹介

virtualenv

・同一バージョンのPythonで使用するライブラリを切り替えて使えるようにするツール
・pip でインストールできる
・Windowsでも使える
vertualenv.png
<引用:機械学習名古屋_第7回勉強会_Python環境構築方法.key>

pyenv

・色々なPythonバージョンを管理するツール
・Python2系と3系を切り替えて使える
・shellやディレクトリで使用するPythonを指定可能
・同一バージョンのPythonでライブラリを切り替えて使うことはできない
・Windowsでは使えない
pyenv.png
<引用:機械学習名古屋_第7回勉強会_Python環境構築方法.key>

pyenv-virtualenv

・pyenvで同一バージョンのPythonでライブラリを切り替えて使えるようにしたツール
・作者はpyenvと同じ方
・Windowsでは使えない
pyenv-virtualenv.png
<引用:機械学習名古屋_第7回勉強会_Python環境構築方法.key>

インストール・使用

LinuxとWindowsのインストール方法も紹介しているのですが,
文量が多くなるのでMacのみに省略させていただきます.

virtualenv

インストール

インストール
$ pip install virtualenv
仮想環境作成
$ virtualenv -p [Pythonバージョン] [仮想環境名]

# 例
$ virtualenv -p 3.5 python3.5

使用

使用
$ source [仮想環境名]/bin/activate

# 例
source python3.5/bin/activate

成功すると端末の表示が
(python3.5)$
と変更しているはずです.

終了
$ deactivate

環境の削除を行いたい場合は,作成ディレクトリを削除すればOKです.

pyenv-virtualenv

インストール

インストール
$ brew install pyenv-virtualenv
環境変数設定(bashの場合,デフォルトはbashです)
$ echo 'export PYENV_ROOT="/usr/local/var/pyenv"' >> ~/.bash_profile
$ echo 'if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi' >> ~/.bash_profile
$ echo 'if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi' >> ~/.bash_profile
$ source ~/.bash_profile

bash以外のシェルを使用の方は.bash_profileの部分を変更してください.

環境変数設定(zshの場合)
$ echo 'export PYENV_ROOT="/usr/local/var/pyenv"' >> ~/.zshrc
$ echo 'if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi' >> ~/.zshrc
$ echo 'if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi' >> ~/.zshrc
$ source ~/.zshrc
Pythonインストール
pyenv install [Pythonバージョン]
仮想環境作成
$ pyenv virtualenv [Pythonバージョン] [仮想環境名]

# 例
$ pyenv virtualenv 2.7.11 Py2Base
$ pyenv virtualenv Py2Base py2-test 

仮想環境から新しい仮想環境を作った場合はライブラリ等も引き継がれるようです.

使用

標準で使用するPythonを変更
$ pyenv global [仮想環境名]
現在のshellのPythonを変更
$  pyenv shell [仮想環境名]
現在のディレクトリのPythonを変更
$ pyenv local [仮想環境名]
仮想環境削除
$ pyenv unisntall [仮想環境名]

参考文献

機械学習名古屋_第7回勉強会_Python環境構築方法.key

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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした