

環境はubuntuで、python2.7はインストール済みです。virtualenvを使いたくて、  
`$virtualenv --python=/usr/lib/python2.7 .`  
と入力したのですが、そのようなファイルはありません。と表示されました。  
pythonのパスを調べたら下のように表示されました。

[code]

    ['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages']
    
[/code]

パスはあっていると思うのですがなぜできないのでしょうか？


CC BY-SA 4.0
2018-06-16T04:52:34.080
44791
2018-06-17T04:29:15.763
2018-06-17T04:29:15.763
3060
question
python linux ubuntu
virtualenvでpythonのパスが通りません。


pythonのパスを調べるのに`sys.path`を使用すると、Pythonのインタープリタのパスではなくてモジュールを検索するパスが表示されます。

Pythonのインタープリタのフルパスを調べるのには、ターミナルでは`which`を使い

[code]

    which python2
    
[/code]

pythonのプログラムからだと`sys.executable`を使います。

[code]

    import sys
    sys.executable
    
[/code]

`virtualenv`でPython
のインタプリタを指定するのに`--python`オプションを使いますが、絶対パスを指定しても可能ですが、必ずしも絶対パスが必要なわけではなくて、python2.7
をインストールしたい場合は、以下の入力で可能です。

[code]

    virtualenv --python=python2 env
    
[/code]

また、python2.7
の方に`virtualenv`をインストールしている場合（Python3だと`venv`が使用可能）は、オプションを省略できて以下の入力でOKです。

[code]

    virtualenv env
    
[/code]

`virtualenv`の公式ドキュメントでは以下のように説明されています。

> -p PYTHON_EXE, --python=PYTHON_EXE  
>  The Python interpreter to use, e.g., –python=python2.5 will use the
> python2.5 interpreter to create the new environment. The default is the
> interpreter that virtualenv was installed with (like /usr/bin/python)


CC BY-SA 4.0
2018-06-17T02:58:40.993
44819
2018-06-17T02:58:40.993
15171
44791
answer