2016-09-22 11 views
0

OSXシステムにPython 3.5をAnaconda経由でインストールしました。仮想環境のインストールと起動後、はvirtualenv用のPython 3.5インタプリタを読み込めません

virtualenv venv 
source venv/bin/activate 

PythonバージョンはPython 2.7.10です。 virtualenvに選択した通訳を読み込むことが許されている間、 "/ usr/bin /"にはPython 2.6と2.7のフォルダしかありません。アナコンダのpython 3.5経路(/Users/Username/anaconda/lib/python3.5) を発見し、それをロードしようとした後、

for: virtualenv -p /Users/Username/anaconda/lib/python3.5 venv

コードが

> Running virtualenv with interpreter /Users/Username/anaconda/lib/python3.5 
> Traceback (most recent call last): File "/usr/local/bin/virtualenv", 
> line 11, in <module> 
>  sys.exit(main()) File "/Library/Python/2.7/site-packages/virtualenv.py", line 790, in main 
>  popen = subprocess.Popen([interpreter, file] + sys.argv[1:], env=env) File 
> "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", 
> line 710, in __init__ 
>  errread, errwrite) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", 
> line 1335, in _execute_child 
>  raise child_exception 
OSError: [Errno 13] Permission denied 
を拒否[エラー番号13]権限を返しますエラーの別のタイプがあるように思わ

for: virtualenv -p /Users/Username/anaconda/bin/python3.5 venv

...

Running virtualenv with interpreter /Users/Username/anaconda/bin/python3.5 
Using base prefix '/Users/Username/anaconda' 
New python executable in venv/bin/python3.5 
Not overwriting existing python script venv/bin/python (you must use venv/bin/python3.5) 
ERROR: The executable venv/bin/python3.5 is not functioning 
ERROR: It thinks sys.prefix is '/Users/Username/.../targetfolder' (should be '/Users/Username/.../targetfolder/venv') 
ERROR: virtualenv is not compatible with this system or executable 
+0

'-p'オプションを使用して、AnacondaのPython 3インタプリタへのパスを指定できます。 – edwinksl

+0

anacondaのpythonは通常、少なくともubuntuでは自動的に見つけられます。 virtualenvの外にあるとき、 'python'はanacondaのpythonを使いますか? –

+0

はい、virtualenvの外側ではPython 3.5を使用します。それでもvirtualenvにロードする方法を考え出しています... –

答えて

1
ERROR: The executable venv/bin/python3.5 is not functioning 
ERROR: It thinks sys.prefix is '/Users/Username/.../targetfolder' (should be '/Users/Username/.../targetfolder/venv') 
ERROR: virtualenv is not compatible with this system or executable 

このエラーは、互換性のないバージョンのPythonとvirtualenvツールを組み合わせようとした場合に発生します。私は、非互換性がどこから来るのか正確にはわかりませんが、回避する方法はわかります。

あなたのPythonと仮定すると

は(読み:3.3またはそれ以降)合理的に機能し、最近では、これは常に動作するはずです:

/path/to/python3.5 -m venv venv 

最初venvがvenv moduleです。 2番目は、virtualenvを作成するディレクトリの名前です。このコマンドは、サードパーティのツールに移植するのではなく、virtualenvを作成するようにPythonに依頼します。したがって、Pythonが正しくそれを行うと確信することができます。特に、それ自体は互換性がありません。


it lacks ensurepipので残念ながら、アナコンダでインストールのPythonのバージョンが「合理的に機能的」として記述することができません。これにより、venvモジュールがpipをあなたのvirtualenvにブートストラップすることは不可能になります。だから、ピップせずに、あなたのvenvを構築し、その後、手動でインストールする必要があります。

/path/to/python3.5 -m venv --without-pip venv 

次にダウンロードし、virtualenvの内からget-pip.pyを実行します。

+0

ありがとう!私はPython 3.5上で作業しているはずですので、出力は以下の通りです: '/Users/Username/anaconda/bin/python3.5'を '/ Users/targetfolder/venv/bin/python3'にシンボリックリンクすることができませんエラー:コマンド '[' targetpath/venv/bin/python3.5 '、' -Im '、' ensurepip '、' --upgrade '、' --default-pip ']'はゼロ以外の終了を返しました。 status -11 –

+0

'--copies'フラグを付けて試してみてください。それが失敗した場合は、 '--without-pip'を使用する必要があります。これはやや不便です。 – Kevin

+0

ありがとう!もう少し詳しく説明できますか? '/path/to/python3.5 -m venv venv --copies'それはどういう意味ですか? –

関連する問題