Vagrant – CentOS7 – Python3 – virtualenv

概要

Vagrant上のCentOS7で、virtualenvをインストールしてPython3の仮想環境をつくった手順の記録。

  • pipvirtualenvwrapperをインストールする
  • sudoでインストールすると警告が出てグローバルにインストールされる

許可がなくインストールできない

pip3virtualenvwrapperをインストールしようとしたところ、許可がないとエラーになった。

ディレクトリーに書き込み権限がない。

sudoで警告が出るがインストール

以下のような警告が出るが、インストールは実行される。

WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install –user` instead.

グローバルインストールするのに対して、--userオプションでユーザーディレクトリーへのインストールを促している。

確認

virtualenvのバージョン確認。

仮想環境構築の確認。

ディレクトリー確認。

仮想環境の有効化。

仮想環境の無効化と削除。

操作

基本操作

ディレクトリーを作成して仮想環境を作成。絶対パスでなければ現在のディレクトリー下に作成される。

$ virtualenv directory

仮想環境の有効化。

$ source directory/bin/activate
または
$ . directory/bin/activate

仮想環境の無効化。

(directory) $ deactivate

仮想環境の削除

$ rm -rf directory

応用

Pythonのバージョン指定

$ virtualenv -p python3.6 directory

システムのPythonパッケージ群を仮想環境からも参照

$ virtualenv --system-site-packages directory

virtualenvwrapperの利用

.bashrcの編集と再読み込み

virtualenvだけでも基本的な操作はできるが、virtualenvwrapperを利用すると便利なコマンドが使えるようになる。そのために~/.bashrcに以下の3行を加える。

.bashrcを実行して反映させる。

1行目のWORKON_HOMEで指定したディレクトリーが作成され、ここに仮想環境ごとのディレクトリーが作成される。

2行目を設定しないと以下のエラーが出る。エラーが出てもvirtualenvwrapperは利用できたが入れておく。

3行目はvirtualenvwrapper.shを実行させる。

.bashrcの実行後、~/.virtualenvsディレクトリーと必要なファイルが作成される。

確認

仮想環境を作ってみる。

python3の場所が仮想環境内になっていて、元のシステムの場所とは違う。

もう一つ仮想環境を作って、workonコマンドで見てみる。lsvirtualenvコマンドもあるが、workonコマンドとの違いがよくわからない。

仮想環境にモジュールをインストールしてもシステムに影響がないことを確認する。まずシステムにはNumpyモジュールがインストールされていないことを確認。

仮想環境でもNumpyはインストールされていない。

Python3をexit()で抜けて、仮想環境のコマンドラインでNumpyをインストール。

Python3でNumpyが使えるようになった。

Python3をexit()で抜けて、仮想環境からも抜ける。元の環境ではNumpyはインストールされていないことがわかる。

virtualenvwrapperのコマンド

仮想環境の作成・有効化。WORKON_HOMEで設定したディレクトリーに作成される。

$ mkvirtualenv envname

仮想環境の無効化。

(envname) $ deactivate

仮想環境の一覧。

$ workon
または
$ lsvirtyalenv -b/-l

仮想環境の有効化。

$ workon envname

仮想環境ディレクトリーへの移動。

$ cdvirtualenv envname

仮想環境の削除。

$ rmvirtualenvname envname

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です