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

(注意) pyenv-virtualenv と virtualenv は別のプロダクトです

More than 1 year has passed since last update.

pyenv-virtualenvvirtualenv を混同している記事をたまに見かけるので、注意喚起です。

概要

pyenv とともに仮想環境を使いたいとき、 pyenv のプラグインである pyenv-virtualenv を使うことがあります。
この pyenv-virtualenv は、 virtualenv とは別のものです。

両者を混同している記事がQiita にもありますが、
以下を見るとわかるように、それぞれ別プロダクトです。ご注意を。

pyenv-virtualenv

pyenv のプラグインで、 pyenv virtualenv コマンドを使えるようにするもの。

公式サイト

https://github.com/pyenv/pyenv-virtualenv

使用例

新しい仮想環境を作るには、
$ pyenv virtualenv {pythonバージョン} {仮想環境のディレクトリ}
を実行します。

例:
$ pyenv virtualenv 2.7.10 my-virtual-env-2.7.10
(公式サイトより)

補足

内部的には virtualenv を呼び出しているようです。
(はっきりとは書いていませんが)公式ページに以下のようにあります。

pyenv-virtualenv uses python -m venv if it is available and the virtualenv
command is not available.

(venv は virtualenv が Python 公式に取り入れられたものです (Python 3.3 以降で使用可能))

virtualenv

公式サイト

https://github.com/pypa/virtualenv
https://virtualenv.pypa.io/en/stable/

使用例

新しい仮想環境を作るには、
$ virtualenv {仮想環境ディレクトリ名}
を実行します。
例:
$ virtualenv my-virtual-env

なお -p オプションによって、特定の Python インタープリタを指定することもできます。

補足 その1

実際のところは、まず「そもそも自分の用途に pyenv は必要なのか?」と考える必要があります。
virtualenv でも、 Python の処理系のバージョンをざっくり指定できますので。

pyenvが必要かどうかフローチャート - Qiita

補足 その2

pyenv-virtualenvwrappervirtualenvwrapper もまた、それぞれ別のプロダクトです。

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