Django アプリを開発サーバーにデプロイしていますが、実行時にこのエラーが発生しますpip install -r requirements.txt
:
Traceback (most recent call last):
File "/var/www/mydir/virtualenvs/dev/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
ImportError: No module named pkg_resources
pkg_resources
で配布されているようですsetuptools
。最初は、これが仮想環境の Python にインストールされていない可能性があると思ったので、setuptools 2.6
次のコマンドを使用して、仮想環境の Python サイト パッケージに (Python と同じバージョン) をインストールしました。
sh setuptools-0.6c11-py2.6.egg --install-dir /var/www/mydir/virtualenvs/dev/lib/python2.6/site-packages
編集:これは、virtualenv 内でのみ発生します。virtualenv の外部でコンソールを開くと、はpkg_resources
存在しますが、同じエラーが発生します。
pkg_resources
なぜパス上にないのか、何か考えはありますか?
ベストアンサー1
2018年7月更新
ほとんどの人は、現在ではpip install setuptools
(おそらく と併用sudo
)を使用するはずです。
python-setuptools
パッケージ マネージャー ( apt-get install
、yum install
など)を使用してパッケージを(再) インストールする必要がある場合があります。
この問題は、OS と開発環境に大きく依存する可能性があります。上記の方法が機能しない場合は、以下の従来の回答やその他の回答を参照してください。
説明
このエラーメッセージはPythonパッケージが欠落しているか壊れていることが原因で発生しますsetuptools
。Matt M.のコメントによると、セットアップツールの問題 #581、以下で参照されるブートストラップ スクリプトは、推奨されるインストール方法ではなくなりました。
ブートストラップ スクリプトの手順は、誰かの役に立つかもしれないので、以下に残しておきます。
レガシー回答
ImportError
今日、pip を使用しようとしたときに同じ問題が発生しました。どういうわけか、 setuptools
Python 環境でパッケージが削除されていました。
この問題を解決するには、次のセットアップ スクリプトを実行しますsetuptools
。
wget https://bootstrap.pypa.io/ez_setup.py -O - | python
(またはインストールされていない場合wget
(例:OS X)、
curl https://bootstrap.pypa.io/ez_setup.py | python
先頭に付加される可能性もありますsudo
。
もしあなたがdistribute
、またはsetuptools
0.6 未満のバージョンを使用している場合は、まずアンインストールする必要があります。*
見るインストール手順詳細についてはこちらをご覧ください。
* すでに動作している をお持ちの場合はdistribute
、 に切り替える「互換性ラッパー」にアップグレードする方がsetuptools
簡単です。ただし、すでに問題がある場合は、それを試さないでください。