1. ホーム
  2. python

[解決済み】pkg_resources という名前のモジュールがありません。

2022-01-27 17:09:13

質問

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 . 当初、これはvirtualenvのPythonにインストールされていないのではと思い、インストールしたのは setuptools 2.6 (Pythonと同じバージョン)を以下のコマンドでvirtualenvのPython site-packagesに追加しました。

sh setuptools-0.6c11-py2.6.egg --install-dir /var/www/mydir/virtualenvs/dev/lib/python2.6/site-packages

EDITです。 これはvirtualenvの中でのみ発生します。 もしvirtualenvの外でコンソールを開くと pkg_resources は存在しますが、まだ同じエラーが出ています。

なぜ pkg_resources がパス上にないのですが?

解決方法は?

2018年7月アップデート

現在では、ほとんどの人が pip install setuptools (場合によっては sudo ).

を(再)インストールする必要がある場合があります。 python-setuptools をパッケージマネージャ経由でインストールする必要があります ( apt-get install , yum install など)。

この問題は、お使いのOSや開発環境に大きく依存する可能性があります。上記がうまくいかない場合は、以下のレガシー/他の回答を参照してください。

説明

このエラーメッセージは、Pythonの欠落/破損が原因で発生します。 setuptools パッケージを使用します。Matt M.さんのコメントと setuptools issue #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 の方が簡単です。でも、すでに壊れているものは、試さないでください。