2013-05-31 3 views
9

醸造のpythonでOS X 10.8にvirtualenvのインストールピップはできません。/usr/localにある醸造されたものの代わりに、どうすればこれを避けることができますか?は、醸造のpythonを使用してvirtualenvをインストールしようとすると、私は次のエラーを取得する2.7

醸造医は問題がないと判断し、パスの優先度は[ok]に設定されています。

私はsystem pythonからvirtualenvパッケージを削除しようとしました。 私は醸造pipとvirtualenvをインストールすることができました。 しかし、私はこのエラーだと、私はvirtualenvsを作成できませんでした、:

$ virtualenv datatransfer/ 
Traceback (most recent call last): 
    File "/usr/local/bin/virtualenv", line 5, in <module> 
    from pkg_resources import load_entry_point 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2603, in <module> 
    working_set.require(__requires__) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 666, in require 
    needed = self.resolve(parse_requirements(requirements)) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 565, in resolve 
    raise DistributionNotFound(req) # XXX put more info here 
pkg_resources.DistributionNotFound: virtualenv==1.9.1 

をだから私は、システムのvirtualenvのを避けるために管理していません。

私は間違っていますか?

+0

このwikiページをご覧ください:https://github.com/mxcl/homebrew/wiki/Homebrew-and-Python PYTHONPATHとPATHを編集して、システムが抽出されたPythonを最初に見つけ出す方法を説明します。 – SethMMorton

+0

@SethMMorton PATHはすでに正しくあり、PYTHONPATHは空です。このwikiで私が見ているのは、醸造されたPythonは/Library/Python/2.7/site-packagesでモジュールを探すということです。しかし、そのフォルダ内のsystemコマンドで作成されたvirtualenvsは、抽出されたpythonを使用しますか? – RogerFC

+0

'which python'と' which pip'と入力するとどうなりますか? – SethMMorton

答えて

0

あなたと違って、私の道は醸造医によれば間違っていました。しかし、私はまだ問題を抱えていることを訂正した後で(あなたの説明には驚きはありません)、私はvirtualenvをアンインストールしてから再インストールしましたが、今回はsudoで再インストールしました。システムの設定全般、あるいは私の1時間以上のPython経験を持っている人は、なぜそれが良いのではないかを指摘することができます(グローバルなインストールは悪い習慣とみなされます)。

セスはwhichで何か上にある、あなたが/usr/local/bin/python

~ ls -l /usr/local/bin/python

~ which python結果、私と同じを見るようだピップ

which pip/usr/local/bin/pip

を指摘してくれ _permissions_etc_ /usr/local/bin/python -> ../Cellar/python/2.7.5/bin/python

を与えます

ls -l /usr/local/bin/pip私が作成したとき_permissions_etc_ /usr/local/bin/virtualenv

を示し_permissions_etc_ /usr/local/bin/pip -> ../Cellar/python/2.7.5/bin/pip

VIRTUALENV(私は前にインストールsudoのピップへの出力を持っていない)

which virtualenv/usr/local/bin/virtualenv

ls -l /usr/local/bin/virtualenvであることを示しているとvirtualenvのを使用して、私は以下を入手してください。

workon ve_test 
which python 
/Users/_username_/.virtualenvs/ve_test/bin/python 
(ve_test)➜ ~PIP_VIRTUALENV_BASE python --version 
Python 2.7.5 

FWIW私の.zshrcが私のために、以下、

# Python related 
# http://hackercodex.com/guide/python-virtualenv-on-mac-osx-mountain-lion-10.8/ 
# http://docs.python-guide.org/en/latest/dev/virtualenvs.html 
source /usr/local/bin/virtualenvwrapper.sh 
# virtualenv should use Distribute instead of legacy setuptools 
export VIRTUALENV_DISTRIBUTE=true 
# Centralized location for new virtual environments 
export PIP_VIRTUALENV_BASE=$HOME/Projects/PythonVirtualEnv 
# cache pip-installed packages to avoid re-downloading 
export PIP_DOWNLOAD_CACHE=$HOME/.pip/cache 
1
本当に原因は何

と問題がありますが、私の$HOMEディレクトリ内.pydistutils.cfgの存在でした。それで私には:sudo pip install <package>を使わなければなりませんでした。

pipでパッケージをインストールするためにsudoを使用する必要がある場合は間違っているので、すぐにシステムのトラブルシューティングを開始する必要があります。そうでなければ、すべてが失敗するだろうし、なぜあなたは知りません。

実行中:brew doctorファイルはであることを警告するので、システムに重大な変更を加えた後でそのコマンドのステータスを監視することを忘れないでください。

これを追跡するのにかなり時間がかかりましたが、今はすべてうまくいきます。 This really helped

19

私は同じ問題を抱えていたと私は手動で私は別のフォルダ

sudo mkdir /usr/local/bin/venv-old 
sudo mv /usr/local/bin/virtualenv* /usr/local/bin/venv-old/ 
/usr/local/bin下にあるすべてのvirtualenvの*ファイルを移動するのPythonのいずれかのBREWバージョンをアンインストールすることによってそれを解決し、virtualenvの

brew uninstall python 
brew uninstall pyenv-virtualenv 

するために管理

新しい端末タブを開いて、私がクリーンな状態であることを再確認します。

which python # => /usr/bin/python 
which virtualenv # => virtualenv not found 
0123きれいに推奨される方法( herehere)を使用して

とPythonをインストールし、virtualenvの(ラッパー):

brew install python --with-brewed-openssl 
# Open a new terminal tab now (to access /usr/local/bin/python) 
pip install virtualenv 
pip install virtualenvwrapper 
+0

これは何かを 'sudo'する必要なしに見つけた最も固い解決策です。ありがとうございました! – Geekfish

+0

私のシステムのように、 'pip uninstall virtualenv'を実行しても'/usr/local/bin/virtualenv'が存在し続けるなら、 '/ usr/local/bin/virtualenv'を手動で削除してから' pip install'は、正常に動作するvirtualenvのバージョンを提供します。 – npdoty

+0

はい、私はすべての/ usr/local/bin/virtualenv *のものを新しいフォルダに移動することを提案しました。自分のホームフォルダの外にあるものを完全に削除するのは好きではありません。それは、どのシステムユーティリティがそれに依存するかわからないからです。 – metakermit

1

を私は同じ問題を抱えていたし、Googleグループでの解決策を見つけました。 /usr/local/bin/virtualenvは更新されていないようですので、あなたがそれを開くと、あなたのシステムに新しいバージョンがインストールされている場合、古いvirtualenv 1.9.1への参照が表示されます。

だから、あなただけを/ usr/local/binに/ virtualenvのを開き、とそれを交換する必要があります。

#!/usr/local/bin/python 
# -*- coding: utf-8 -*- 
import re 
import sys 
from virtualenv import main 

if __name__ == '__main__': 
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) 
sys.exit(main()) 

そして、それは私のために働きました!

出典:https://groups.google.com/forum/#!topic/python-virtualenv/hL_QDPJsnuY

+0

これは私のために働いた!確かに私はそこに非常に古いvirtualenvスクリプトを用意していました。何らかの理由でアンインストールを拒否しました。 – gabe

4

私は私のpythonをアンインストールし、再インストールする必要はありませんでした私

sudo mv /usr/local/bin/virtualenv* /usr/local/bin/venv-old/

pip install -I virtualenv

のために同じ問題、

を持っていました。

+0

ありがとう、それは私のために働いた! – ademarizu

関連する問題

 関連する問題