web-dev-qa-db-ja.com

Lionのインストール後にpython virtual envエラーが発生する

私はpythonとvirtualenvにしばらく触れていません。virtualenvとpipを使用してMBPをセットアップしたと思いますが、これがどのように機能するかを完全に忘れてしまいました。

Lionをインストールした後、新しいターミナルウィンドウを開くと次のエラーが発生します。

Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named virtualenvwrapper.hook_loader
virtualenvwrapper.sh: There was a problem running the initialization hooks. If Python could not import the module virtualenvwrapper.hook_loader, check that virtualenv has been installed for VIRTUALENVWRAPPER_PYTHON=/usr/bin/python and that PATH is set properly.

これを修正する方法に関するヒントはありますか?

試してみる:

easy_installイベントレット

私はこれを得た:

Traceback (most recent call last):
  File "/usr/local/bin/easy_install", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.py", line 2607, in <module>
    parse_requirements(__requires__), Environment()
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.py", line 565, in resolve
    raise DistributionNotFound(req)  # XXX put more info here
pkg_resources.DistributionNotFound: setuptools==0.6c11
26
Blankman

私は完全なPython/Virtualenv初心者です。しかし、私はまったく同じ問題を抱えており、うまくいく解決策を見つけました。これは、最初に設定した方法によって大きく異なると思いますPython&Virtualenv。

私の場合、Lionのアップグレードによって/Library/Python/2.*/site-packagesのすべてのコンテンツが完全に消去されましたが、壊れた実行可能ファイル(このフォルダのコンテンツにリンクしている)が/usr/local/binに残っています。これが不可解な「モジュールなし」インポートエラーの根本原因であると思います。

私の.bash_historyを確認すると、最初はpipをインストールするためにeasy_installを使用し、次にpipvirtualenvをインストールするためにvirtualenvwrapperを使用していました。これらの手順を繰り返すと、10.6にインストールしたすべてのパッケージがまだ含まれている古い仮想環境に再び入ることができました。ただし、10.6にはPython 2.6がデフォルトで付属しています。パッケージにPython 2.6が必要な場合は、デフォルトを変更する必要がありますPythonバージョンを最初に2.6に。

ステップバイステップ:

  1. シェルのスタートアップスクリプトから古いVirtualenv構成コマンド(例:.bash_profile)を削除しました。新しいターミナルセッションを開始します。
  2. (オプション)Python使用するバージョンを選択します。例:
    defaults write com.Apple.versioner.python Version 2.6
  3. Sudo easy_install pip/Library/Python/2.*/site-packagesには管理者権限が必要なようです。私は10.6のケースであることを思い出しません(または、少なくとも私のbashの履歴はそれを反映していません)。
  4. Sudo pip install virtualenv
  5. Sudo pip install virtualenvwrapper
  6. 最後に、手順1で無効にしたvirtualenv構成コマンドを再度有効にしました。新しいターミナルセッションでは、すべてが元の状態に戻りました(pip freeze -lを見て、この仮想環境のローカルパッケージを確認してください)。おもう。
41
Matt B.

私がpython3.4をインストールしたUbuntu 14.04での私の解決策は、これを〜/ .bashrcファイルに追加して、尾がこのように見えるようにすることでした:

#Setup virtual envwrapper for python in case default doesn't work
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.4
export VIRTUALENVWRAPPER_PYTHON

# needed for virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/projects
source /usr/local/bin/virtualenvwrapper.sh

私がしたときpip freeze on regular python 2.7でしたが、パッケージは正しくインストールされていますが、文句を言われていました。virtualenvが機能したと文句を言いましたが。

〜/ .virtualenvs内のすべてのファイルがrootに散在するのではなく、ユーザーとグループに属していることを確認することで、後でエラーを削除しました。このような:

bash cd ~ Sudo chown -R ubuntu:ubuntu .virtualenvs

22
hum3

使用しているPython用のvirtualenvをインストールしましたか?アップルが提供するデフォルトのシステムPython 2.7を使用している場合、virtualenvパッケージがプリインストールされていません。これをインストールするには、/usr/bin/easy_installを使用します。

更新:明確にするために、Lion 10.7では、/usr/bin/pythonを使用する場合のデフォルトバージョンであるApple提供のPython 2.7が追加されました。 Appleも10.6 Snow Leopardと同様に、Python 2.6および2.5をLionで出荷し続けます。 /usr/bin/python2.7/usr/bin/python2.6などのように、明示的に参照することで、必要なバージョンを選択できます。can/usr/bin/pythonが使用するデフォルトを変更します。詳細については、Appleのマニュアルページ(man python)を参照してください。ただし、重要な点は、通常、Pythonパッケージは特定のバージョンにインストールされることです。 2.6で何かをインストールした場合、それを2.7で使用するには、python2.7(またはeasy_install-2.7)でインストールする必要があります。

6
Ned Deily

ブランクマン、

同じエラーが発生しましたが、後から見た私の問題は簡単でした。 YMMV。

私は(home)brewを使用してpython 2.7.2をインストールし、それをデフォルトとして使用しています。これは/ usr/local/bin/pythonから参照されます。在庫pythonインストールは、/ usr/bin/pythonで参照されます。

-

Virtualwrapper.sh起動スクリプトは、環境変数VIRTUALENVWRAPPER_PYTHONをチェックし、空の場合は「/ usr/local/bin/python」を入力しました。これが私のエラーの理由でした。それを「/ usr/local/bin/python」に初期化すると、問題が解決しました。

HTH。

明確にするために。 python 2.7.2 brewを使用してそれをvirtualenvと組み合わせ、開発環境をより適切に管理できるようにインストールしました。インストール済みのセットアップをできるだけ回避するようにしています。

5
Amar

2番目の問題を修正するには、setuptoolsを再インストールする必要があります。

そして最初のものを修正するには、virtualenvwrapperをインストールするだけです。

基本的には、Lionをインストールするときに、すべてのpythonサイトパッケージを再インストールする必要があります。

2
Pavel Shvedov

髪の毛を引っ張っている他の人のために...私はこれと同じエラーを受け取りましたが、他のMacの1つにscp(セキュアコピー)を試みたときのみです。メッセージが実際にログインしているMacに関連していることを理解するのにしばらく時間がかかりました。osxの場合、.bash_profileはログイン時に実行され、.bash_profileから.bashrcを正しく調達して環境設定を取得していませんでしたNed輪郭。したがって、これらの設定が、ログインするマシンにも設定されていることを確認してください。

1
smileBot

はい、marvericksにアップグレードした後、/ usr/bin/easy_installを使用してpipとvirtualenvを再度インストールする必要があります。

1
allen.bang

setup-tools (この場合は、Python 2.7 Egg for Mountain Lion)を再インストールする必要があり、pipをインストールしてから、virtualenvを再インストールすることができました。

1
Imanol

ヨセミテにアップグレードした後、これを受け取りました。修正するには、実行する必要がありました:

Sudo pip install --upgrade setuptools
0
donturner