virtualenv
経由でpip
をインストールしましたが、新しい環境を作成した後にこのエラーが発生します。
Selenium:~ auser$ virtualenv new
New python executable in new/bin/python
ERROR: The executable new/bin/python is not functioning
ERROR: It thinks sys.prefix is u'/System/Library/Frameworks/Python.framework/ Versions/2.6' (should be '/Users/user/new')
ERROR: virtualenv is not compatible with this system or executable
私の環境では:
PYTHONPATH=/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages
PATH=/System/Library/Frameworks/Python.framework/Versions/2.6/bin:/Library/Frameworks/Python.framework/Versions/2.6/bin:/Library/Frameworks/Python.framework/Versions/2.6/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
どうすれば修復できますか?
ありがとう。
virtualenv
で引き続き問題が発生する場合は、代わりに pythonbrew を試してください。これは、同じ問題に対する代替ソリューションです。これは、Rubyの rvm のように機能します。$HOME/.pythonbrew
の下にPythonのインスタンス全体を構築および作成し、バージョン間で簡単に切り替えることができるbash関数を設定します。 virtualenv
は、ソリューションの一部としてシンボリックリンクを使用して、Pythonのシステムバージョンをシャドウしますが、pythonbrew
は完全に自己完結型のPythonのインストールを構築します。
何年もvirtualenv
を使用しました。それはまともな解決策ですが、最近pythonbrew
に切り替えました。完全に自己完結型のPythonインスタンスがあるということは、新しいインスタンスのインストールには時間がかかることを意味します(pythonbrew
は実際にPythonをゼロからコンパイルします)各インストールの自己完結型の性質は私にとって魅力的であり、ディスクは安価です。
まだ誰かが答えを探している場合に備えて。
今日同じ問題にぶつかりましたが、Anacondaが既にインストールされているので、pip install virtualenv
仮想環境をインストールします。これにより、後で開始しようとしたときにエラーメッセージが表示されます。代わりに、conda install virtualenv
次に入力virtualenv env_mysite
および問題は解決しました。
将来、誰かがこの問題に遭遇した場合-これは、デフォルトのPythonディストリビューションがcondaであるために発生します。Condaには独自の仮想環境があります セットアッププロセス pythonのconda分布があり、それでもvirtualenvを使用したい場合は次のようにします。
他のpythonマシン上のディストリビューションを見つける:_ls -ls /usr/bin/python*
_
利用可能なpython condaでないバージョンに注意して、以下のコードを実行します(python 3以降ではvirtualenvを最初にアップグレードする必要があります):virtualenv -p python2.7(or your python version) flaskapp
前述の@RyanWilcoxのように、誤ってvirtualenv
を間違ったPythonインストールに指定している可能性があります。Virtualenvには、使用するインタープリターを指定できる-p
フラグがあります。
私の場合、
virtualenv test_env
あなたと同じエラーを投げましたが、
virtualenv -p python test_env
完璧に機能しました。
virtualenv -h
を呼び出すと、-p
フラグのドキュメントから、どのpython使用すべきだと考えられているかがわかります。奇妙な場合は、-p python
。参考のため、virtualenv 1.11.6を使用しています。
私は自分でこの問題に出くわしました。以下に貼り付けたREADMEに手順を書き留めました。
動作するものが2つあることがわかりました。
非システムを使用している場合Pythonを標準としてPython(which python確認する)システムを強制的に使用する提供されたもの。
の代わりに virtualenv thing
使用する /usr/bin/python2.6 PATH/TO/VIRTUALENV thing
(またはwhich python
はあなたに戻ってきた-これは私がこの問題に出くわしたときに私のためにしたことです)
私は同じ問題を抱えていて、今見ているように、厄介なPythonインストールにより発生しました。新しいノートパソコンを購入してから1年以上OS Xをインストールしました。再インストールPython異なるソース(公式バイナリ、homebrew、公式バイナリ+記述された手作りの調整 ここ )を使用して何度か。なぜ私に尋ねないでください。それをやった、私はただの悲惨な初心者であり、すべてが再インストールされた後に修正されると信じている。
そのため、あちこちにさまざまなPythonがインストールされており、それらを一貫して指す多くのハードリンクもありました。最終的に私はそれらのすべてにうんざりし、 oS Xを再インストールした find
ユーティリティを使用して見つけたすべてのPythonからシステムを慎重に削除しました。また、どこからでも何でもPythonを指すすべてのリンクのリンクを解除しました。それから、homebrewを使用して新鮮なPython今の魅力。
だから、私のレシピは:
Sudo find / -iname "python*" > python.log
次に、このファイルを分析し、Python必要なPython $ ===のバージョンに関連するすべてのものを削除してリンク解除します。homebrewで行いました。公式インストールでも動作します)をお楽しみください。 /usr/bin
および/usr/local/bin
からのPython関連のすべて、およびFrameworks/Python.framework/Versions/<Your.Version>
および/Library
内の/System/Library
のすべてのインスタンスを削除します。
それは汚いハックかもしれませんが、私にとってはうまくいきました。システム全体でPython pip
とvirtualenv
以外のライブラリを保持し、すべてのプロジェクトの仮想環境を作成しないため、気にしません重要なライブラリを削除する:すべてを削除したくない場合は、Pythonが何であるか、どのリンクがそれらを指し、どこから来ているのかを理解してください。
Virtualenvを動作させるために、次の手順を実行しました。
次のようにvirtualenvを更新します。
==> Sudo pip install --upgrade virtualenv
Python3 virtualenvを初期化します。
==> virtualenv -p python3 venv
上記の解決策は私にとっては失敗しましたが、以下はうまくいきました:
python3 -m venv --without-pip <ENVIRONMENT_NAME>
. <ENVIRONMENT_NAME>/bin/activate
curl https://bootstrap.pypa.io/get-pip.py | python
deactivate
それはハッキーですが、はい、コアの問題は本当にピップのように見えました。
この「機能していない」エラーのバリエーションに遭遇しました。私は実際に「/ Users/eric/Documents/Programming:Developing /」であるパス「.../Programming/Developing ...」を含むフォルダーに環境を作成しようとしていました。
このエラーが発生しました:
ImportError: No module named site
ERROR: The executable env/bin/python2.7 is not functioning
ERROR: It thinks sys.prefix is u'/Users/eric/Documents/Programming:Developing/heroku' (should be u'/Users/eric/Documents/Programming:Developing/heroku/env')
ERROR: virtualenv is not compatible with this system or executable
私は別のフォルダで同じことを試してみましたが、正常に機能し、エラーはなく、env/binには期待どおりのものがあります(アクティブ化など)。
同じ問題が発生し、python実行可能ファイル名を適切に指定しないと発生することがわかりました。たとえば、python 2xの場合:
virtualenv --system-site-packages -p python mysite
ただし、python 3.6の場合、python3.6のような実行可能ファイル名を指定する必要があります
virtualenv --system-site-packages -p python3.6 mysite
ターミナルを開いて/Library/Frameworks/Python.framework/Versions/
と入力します
次に、Python2(またはその他の)を使用している場合はls /Library/Frameworks/Python.framework/Versions/2.7/bin/
と入力します。
〜/ .bash_profileを編集し、次の行を追加します:export PATH=$PATH:/Library/Frameworks/Python.framework/Versions/2.7/bin/
cat ~/.bash_profile
私の場合、〜/ .bash_profileの内容は次のとおりです。
export PATH=$PATH:/Library/Frameworks/Python.framework/Versions/2.7/bin/
これでvirtualenvコマンドが機能するはずです。
私もこの問題を抱えていたので、私に合った次の方法を試しました。
conda install virtualenv
virtualenv --system-site-packages /anaconda/envs/tensorflow
(ここでenvs
はユーザーが作成したすべての仮想環境を保持します)
source /anaconda/envs/tensorflow/bin/activate
お役に立てば幸いです。
これと同じ問題が発生し、問題が古いvirtualenv.py
ファイルにあったことを確認できます。
install --upgrade全体を実行する必要はありませんでした。
virtualenv.py
ファイルを最新のバージョンで置き換えます。