私は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
私は完全なPython/Virtualenv初心者です。しかし、私はまったく同じ問題を抱えており、うまくいく解決策を見つけました。これは、最初に設定した方法によって大きく異なると思いますPython&Virtualenv。
私の場合、Lionのアップグレードによって/Library/Python/2.*/site-packages
のすべてのコンテンツが完全に消去されましたが、壊れた実行可能ファイル(このフォルダのコンテンツにリンクしている)が/usr/local/bin
に残っています。これが不可解な「モジュールなし」インポートエラーの根本原因であると思います。
私の.bash_historyを確認すると、最初はpip
をインストールするためにeasy_install
を使用し、次にpip
とvirtualenv
をインストールするためにvirtualenvwrapper
を使用していました。これらの手順を繰り返すと、10.6にインストールしたすべてのパッケージがまだ含まれている古い仮想環境に再び入ることができました。ただし、10.6にはPython 2.6がデフォルトで付属しています。パッケージにPython 2.6が必要な場合は、デフォルトを変更する必要がありますPythonバージョンを最初に2.6に。
ステップバイステップ:
.bash_profile
)を削除しました。新しいターミナルセッションを開始します。defaults write com.Apple.versioner.python Version 2.6
Sudo easy_install pip
。 /Library/Python/2.*/site-packages
には管理者権限が必要なようです。私は10.6のケースであることを思い出しません(または、少なくとも私のbashの履歴はそれを反映していません)。Sudo pip install virtualenv
Sudo pip install virtualenvwrapper
pip freeze -l
を見て、この仮想環境のローカルパッケージを確認してください)。おもう。私が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
使用している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
)でインストールする必要があります。
ブランクマン、
同じエラーが発生しましたが、後から見た私の問題は簡単でした。 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と組み合わせ、開発環境をより適切に管理できるようにインストールしました。インストール済みのセットアップをできるだけ回避するようにしています。
2番目の問題を修正するには、setuptoolsを再インストールする必要があります。
そして最初のものを修正するには、virtualenvwrapperをインストールするだけです。
基本的には、Lionをインストールするときに、すべてのpythonサイトパッケージを再インストールする必要があります。
髪の毛を引っ張っている他の人のために...私はこれと同じエラーを受け取りましたが、他のMacの1つにscp(セキュアコピー)を試みたときのみです。メッセージが実際にログインしているMacに関連していることを理解するのにしばらく時間がかかりました。osxの場合、.bash_profileはログイン時に実行され、.bash_profileから.bashrcを正しく調達して環境設定を取得していませんでしたNed輪郭。したがって、これらの設定が、ログインするマシンにも設定されていることを確認してください。
はい、marvericksにアップグレードした後、/ usr/bin/easy_installを使用してpipとvirtualenvを再度インストールする必要があります。
setup-tools (この場合は、Python 2.7 Egg for Mountain Lion)を再インストールする必要があり、pipをインストールしてから、virtualenvを再インストールすることができました。
ヨセミテにアップグレードした後、これを受け取りました。修正するには、実行する必要がありました:
Sudo pip install --upgrade setuptools