web-dev-qa-db-ja.com

Pkg_resourcesという名前のモジュールはありません

私は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_resourcessetuptoolsと一緒に配布されているようです。当初、これはvirtualenvのPythonにはインストールされない可能性があると考えたので、次のコマンドを使用してvirtualenvのPythonサイトパッケージにsetuptools 2.6(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が進路上にないのかという考えはありますか?

389
igniteflow

2018年7月の更新

ほとんどの人は今pip install setuptoolsを使うべきです(おそらくSudoと一緒に)。

パッケージマネージャを介してpython-setuptoolsパッケージを(再)インストールする必要があるかもしれません(apt-get installyum installなど)。

この問題はあなたのOSと開発環境に大きく依存します。上記の方法でうまくいかない場合は、以下のレガシー/その他の回答を参照してください。

説明

このエラーメッセージは、欠けている/壊れているPythonのsetuptoolsパッケージが原因で発生します。 Matt M.のコメントおよび setuptools issue#581 に従って、以下で参照されるブートストラップスクリプトは、もはや推奨されるインストール方法ではありません。

ブートストラップスクリプトの説明は、それがだれにでも役立つ場合を考慮して、以下のままにします。

従来の回答

Pipを使おうとしているときに、今日も同じImportErrorに遭遇しました。どういうわけか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 のバージョン、または0.6より下のsetuptoolsがある場合は、まずそれをアンインストールする必要があります。*

詳細については インストール手順 を参照してください。


*すでにdistributeを動かしているのなら、それをsetuptoolsに切り替える「互換性ラッパー」にアップグレードするのがより簡単です。しかし、物事がすでに壊れているのであれば、それを試してはいけません。

576
cwc
Sudo apt-get install --reinstall python-pkg-resources

debianで私のためにそれを修正しました。いくつかの.debパッケージ(私の場合はツイストセット)をアンインストールすると、pythonがパッケージを見つけるために使用するパスが壊れたようです。

109
Marek

Ubuntu 13.10でrhodecodeをvirtualenvにインストールしようとしているときにこのエラーが発生しました。私にとって解決策は実行することでした

pip install --upgrade setuptools
pip install --upgrade distribute 

私はeasy_install rhodecodeを実行する前に。

44
Ali Akdurak

それは私にも起こりました。 virtualenvがsetuptoolsを使用している間にrequirements.txtに "distribute"エントリが含まれていると問題が発生すると思います。 Pipはsetuptoolsにパッチを配って配布スペースを確保しようとしますが、残念ながらそれは途中で失敗します。

簡単な解決策はあなたの現在のvirtualenvを削除してから--distribute引数で新しいvirtualenvを作ることです。

Virtualenvwrapperを使用する場合の例:

$ deactivate
$ rmvirtualenv yourenv
$ mkvirtualenv yourenv --distribute
$ workon yourenv
$ pip install -r requirements.txt
33
pram

CentOS 6ではパッケージpython-setuptoolsをインストールすることで修正されました。

yum install python-setuptools
15
Paul

私は以前にこのエラーを抱えていました、そして最も高い評価された答えは私にez_setup.pyファイルをダウンロードしようとしているエラーを与えました。あなたがコマンドを実行できるように私は別のソースを見つけました:

curl http://peak.telecommunity.com/dist/ez_setup.py | python

動作させるためにはSudoも使用する必要があることがわかりました。そのため、次のコマンドを実行する必要があります。

Sudo curl http://peak.telecommunity.com/dist/ez_setup.py | Sudo python

スクリプトをダウンロードできる場所を別に作成しました。

https://Gist.github.com/ajtrichards/42e73562a89edb1039f3

14
ajtrichards

これらの答えをいくつか試した後、同僚に手を差し伸べたところ、Ubuntu 16.04で私にとって役に立ちました。

pip install --force-reinstall -U setuptools
pip install --force-reinstall -U pip

私の場合、それは問題を抱えていたピロー3.1.1の古いバージョンだけでした(ピロー4.xはうまく働きました)、そしてそれは今解決されます!

8
ptim

もう少しSudoが必要です。それからpipをインストールするためにeasy_installを使いました。動作します。

Sudo wget https://bootstrap.pypa.io/ez_setup.py -O - | Sudo python
Sudo easy_install pip
7
Tarion

私はこれを行うことによってvirtualenvでエラーを修正しました:

からpkg_resources.pyをコピーした

/Library/Python/2.7/site-packages/setuptools

/Library/Python/2.7/site-packages/

これは安価な回避策かもしれませんが、私にとってはうまくいきました。

セットアップツールが存在しない場合は、virtualenv --system-site-packages /DESTINATION DIRECTORYと入力してsystem-site-packagesをインストールし、最後の部分をインストールしたいディレクトリに変更してみてください。 pkg_rousources.pyはlib/python2.7/site-packagesのそのディレクトリの下にあります。

5
mrgnw

私にとっては、 "site"というサブディレクトリがあるためにこのエラーが発生していました。これがpipのバグかどうかはわかりませんが、私は次のように始めました。

/some/dir/requirements.txt/some/dir/site /

pip install -r requirements.txtが機能しないため、上記のエラーが発生します。

サブフォルダの名前を "site"から "src"に変更すると問題が解決しました。多分pipは "site-packages"を探していますか?クレイジー.

3
jdg

彼らはbitbucketから離れてgithubにいるようです( https://github.com/pypa/setuptools

実行するコマンドは次のとおりです。

wget https://bootstrap.pypa.io/ez_setup.py -O - | Sudo python
2
shadyhill

私がvirtualenvをそれを作成したのとは異なるユーザーとしてアクティベートしたとき、私はこの問題を抱えていました。許可の問題のようです。これを@cwcで答えてみたところ、次のように出力されました。

Installing easy_install script to /path/env/bin
error: /path/env/bin/easy_install: Permission denied

Virtualenvを作成したユーザーに切り替えてから元のpip installコマンドを実行しても問題はありませんでした。お役に立てれば!

2

私にとっては、これはsite-packagesに対するパーミッションの問題であることがわかりました。それは私の開発環境だけなので、私はパーミッションを上げました、そしてすべてが再び働いています:

Sudo chmod -R a+rwx /path/to/my/venv/lib/python2.7/site-packages/
2
kat

私も今日この問題を抱えていました。私は仮想環境の中に問題があるだけでした。

私のための解決策はpipでvirtualenvを削除してからアンインストールしてそれを再インストールすることで仮想環境を無効にすることでした。その後、私は自分のプロジェクト用に新しい仮想環境を作成しました。それから、pipは通常の環境と同じように仮想環境内でもうまく機能しました。

2
arno_v

conda 経由でインストールされたアプリケーションでこの問題に遭遇した場合、解決策は( このバグ報告で述べられているように) でsetup-toolsをインストールすることです。

conda install setuptools
2
Gabriel

どうやらあなたはsetuptoolsがないのです。いくつかのvirtualenvバージョンはデフォルトでsetuptoolsの代わりにdistributeを使います。 virtualenvを作成するときに--setuptoolsオプションを使用するか、環境内でVIRTUALENV_SETUPTOOLS=1を設定します。

1
Danilo Bargen

Python 3を使用している場合は、pipの代わりにpip3を使用してください。コマンドは$ pip3 install requirements.txtのようになります

0
user3266968

私はGoogle App Engine環境でそのエラーを経験しました。そしてpip install -t lib setuptoolsは問題を解決しました。

0
Murat Çorlu

私はpython 2.7.14のpipをインストールするためにeasy-installを使ったときに同じ問題を抱えていました。私にとっての解決策は、(最善ではないかもしれませんが、私にとってはうまくいきました。おそらくこれが最も簡単です)、easy-install.pyを含むフォルダーに、フォルダーpkg_resourcesも含まれていることです。私のpip-script.pyスクリプトは(python27\Scripts)でした。それ以来、私はpython27\Lib\site-packages\pip-9.0.1-py2.7.Egg\pip\_vendorフォルダでもそれを見つけました、これをインポートするためにpip-script.pyファイルを修正することはより良い解決策かもしれません。

0
B Kasza

yum -y install python-setuptools

私はCephを設定する問題があります"$ ceph-deploy new node1"実行コマンドがあります、そして私は"$ yum -y install python-setuptools"コマンドを実行します、そして問題はなくなっています。ありがとう

0
Lucas

Opensuse 42.1では、以下の問題が修正されました。

zypper in python-Pygments
0
David Hamner

私はCentOS 6.7を使用していますが、私のPythonは2.6.6から2.7.11にアップグレードしたものです。

Sudo yum install python-devel

同じ状況で誰かを助けることを願っています。

0
shellbye

私の場合は、最初に2つのpythonバージョンをインストールし、その後、古いバージョンを削除しました。仮想環境を作成しながら

virtualenv venv

アンインストールされたpythonを参照していました

私のために働いたこと

python3 -m virtualenv venv

Pipを使おうとしているときも同じです。

Ubuntuのビルドを更新した後、私はこの問題に遭遇しました。私のすべての仮想環境で、セットアップツールを通過して削除したようです。

これを解決するために、仮想環境をターゲットディレクトリに再インストールしました。これは足りないセットアップツールをきれいにして、物事を再び実行させました。

例えば。:

~/RepoDir/TestProject$ virtualenv TestEnvironmentDir
0
Steve D.

ImportError:pkg_resourcesという名前のモジュールはありません: 解決策は以下のコマンドを使ってpython pipを再インストールすることです。

ステップ:1 rootユーザーでログインします。

Sudo su root

ステップ:2 存在する場合はpython-pipパッケージをアンインストールします。

apt-get purge -y python-pip

ステップ:3 wgetコマンドを使ってファイルをダウンロードする(pwdにファイルをダウンロードする)

wget https://bootstrap.pypa.io/get-pip.py

ステップ:4 pythonファイルを実行します。

python ./get-pip.py

ステップ:5 Finalyインストールコマンドを終了します。

apt-get install python-pip

注: ユーザーはrootでなければなりません。

0
Tukadiya Ramesh

Windowsでは、 www.lfd.uci.edu /〜gohlke/pythonlibs/ からダウンロードしたpipをインストールしてからこの問題を解決しました。

それで、私は最初にsetuptools(easy_install)をインストールするべきでした。

0
metaphy

このOSX用ガイドに従ってみたところ、私はこの答えに出会いました 。私にとってうまくいったのは、python get-pipを実行した後、私もALSO easy_install pipを使わなければならなかったということでした。それは全くpipを実行することができないという問題を修正しました。 I やった たくさんの古いmacportものがインストールされている。それは矛盾しているかもしれません。

0
KitsuneYMG

簡単な解決策は、setuptoolsまたは環境全体をアップグレードするためにcondaを使用できることです。 (特にWindowsユーザー向け)

conda upgrade -c anaconda setuptools

setuptoolsが削除された場合は、もう一度setuptoolsをインストールする必要があります。

conda install -c anaconda setuptools

これらすべての方法がうまくいかない場合は、conda環境をアップグレードすることができます。しかし、私はあなたがいくつかのパッケージを再インストールしてアンインストールする必要があることをお勧めしません。

0
weibin Wang

投稿された回答のどれも私のために働きませんでした、それで私はpipを再インストールしました、そして、それはうまくいきました!

Sudo apt-get install python-setuptools python-dev build-essential 

Sudo easy_install pip 

pip install --upgrade setuptools

(参照: http://www.saltycrane.com/blog/2010/02/how-install-pip-ubuntu/

0
user13107

Windowsでは、Python 3.7では、これは私のために働いた:

pip install --upgrade setuptools --user

--userはあなたのホームディレクトリにパッケージをインストールします、それは管理者特権を必要としません。

0
David Jablonski

私にとって良い解決策はvirtualenvに--no-downloadオプションを使うことでした(toxの場合はVIRTUALENV_NO_DOWNLOAD=1 tox)。

0
Baczek

次の方法でsetuptoolsを再インストールしてください。

$ Sudo wget https://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz#md5=7df2a529a074f613b509fb44feefefe74e
$ tar -zxvf setuptools-0.6c11.tar.gz
$ cd setuptools-0.6c11/
$ Sudo python setup.py build
$ Sudo python setup.py install
$ Sudo pip install --upgrade setuptools

それからすべてがうまくいくでしょう。

0
Scott Yang