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


451

私は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、次のコマンドを使用してvirtualenvの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進まないのかに関するアイデアはありますか?


nltkをインストールすると、同じ問題が発生します。良い質問と役立つ回答
laike9m

4
pip uninstall -y setuptoolsその後pip install setuptools==39.1.0、Windows 10のAnacondaで私のために働きました
Ryan

1
@RyanはUbuntu 16.04でも私のために働いてくれました。ありがとうございました!
ElectRocnic 2018年

回答:


634

2018年7月の更新

ほとんどの人はpip install setuptools(おそらくでsudo)使うべきです。

一部は(再)インストールする必要があるかもしれませんpython-setuptools(そのパッケージマネージャ経由でパッケージをapt-get installyum installなど、)。

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

説明

このエラーメッセージは、Python setuptoolsパッケージが見つからないか壊れているために発生します。Matt M.のコメントとsetuptoolsの問題#581に従い、以下で参照されているブートストラップスクリプトは、推奨されるインストール方法ではなくなりました。

ブートストラップスクリプトの説明は、誰にとっても役立つ場合に備えて、以下に残ります。

従来の回答

ImportError今日私はピップを使用しようとしたときに同じに遭遇しました。どういうわけか、setuptoolsパッケージは私のPython環境で削除されました。

この問題を修正するには、次のセットアップスクリプトを実行しますsetuptools

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

(または、wgetOS(例:OS X)をインストールしていない場合は、

curl https://bootstrap.pypa.io/ez_setup.py | python

おそらくsudo先頭に追加されます。)

のいずれかのバージョンdistribute、またはsetuptools0.6より前のバージョンがある場合は、最初にそれをアンインストールする必要があります。*

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


*既に機能している場合は、distribute切り替える「互換性ラッパー」にアップグレードするsetuptools方が簡単です。しかし、すでに壊れている場合は、それを試さないでください。


42
ローカルコマンドへのカールパイピングは常に私を怖がらせますが、これはうまくいきます。:)私はsudo pythonYMMVを走っていた。
Nik Reiman

4
Cygwinでは、python-setuptoolsパッケージをインストールする必要がありました。これにより、同じ問題を抱えていたeasy_installが再び機能するようになりました。その後、私はeasy_install pip再びピップを動作させるために使用しました。私の問題は、関係のないものをインストールしているときに、CygwinがPythonを2.6から2.7にアップグレードしたときに発生しました。
Steve Pitchers 2013年

5
これは昨年の最良の回答でした…しかし、2013年半ばの時点で、distribute廃止され、setuptoolsその後継となっています。回答を編集して更新しますが、それが最善の方法であるかどうかは不明です。そのため、誰かが編集を元に戻す場合があります。その場合は、こちらにアクセスしてください
abarnert 2013

1
このURLは私には機能しませんでしたが、次のURLは機能しました:peak.telecommunity.com/dist/ez_setup.py
ajtrichards

1
@Cerin:試したときに何が起こったのかを言うと、誰にとってももっと役立つでしょう。そしてsudo、@ Nikが上記のようにを使用しましたか?
Michael Scheper 2014

124
sudo apt-get install --reinstall python-pkg-resources

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


9
私はPython 3を使用しているため、sudo apt-get install --reinstall python3-pkg-resourcesを実行する必要があり、それを修正しました。ありがとうございました!
ロバートタウンリー2017

私は推測する、何かがのpython3 / python2をどうするyapfと助けなかった
明るいドン

53

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

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

easy_install rhodecodeを実行する前に。


12
pip install --upgrade setuptools一人で私のためのトリックをしました。
Ryan Tuck

私が必要pip install --upgrade setuptools --user
dfrankow

5
pip install --upgrade setuptools同じエラーが原因で実行できません:No module named pkg_resources
McLawrence

1
pip install --upgrade distributePython 3のvenvモジュールを使用するときに仕事をしました。Python 2のvirtualenvサポート済み--distributeフラグですが、distributeによって作成された環境にインストールする必要がありvenvます。
ノーマル

34

それも私に起こりました。virtualenvがsetuptoolsを使用しているときにrequirements.txtに「配布」エントリが含まれている場合、問題が発生すると思います。Pipは、setuptoolsにパッチを適用して配布の余地を作ろうとしますが、残念ながら途中で失敗します。

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

virtualenvwrapperを使用する場合の例:

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

2
他のソリューションのいずれも(Ubuntuの16.04を使用して)なかったとき、これは私を助けた
MIkee

Python 3のvenvモジュールによって作成されpip install -U distributeた環境の場合、環境をアクティブ化した後に実行すると、ジョブが実行されます。
ノーマル

17

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

yum install python-setuptools

「yum」を「sudo apt-get」に置き換えた場合、これはDebianで機能します。また: sudo apt-get install python3-setuptools
gridtrak 2016年

これは私のためにやったものです。
Tao Starbow 2017年

CentOS 7でこの問題が発生し、python-setuptoolsはすでにインストールされていましたが、sudo yum reinstall python-setuptools修正されました。
コーンレイヤー2017年

CentOS.orgにバグを報告しました bugs.centos.org/view.php?id=14042
rjt

14

以前にこのエラーが発生したため、最高評価の回答で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


:それができるように、「カール」コマンドは、sudoを必要はありませんcurl http://peak.telecommunity.com/dist/ez_setup.py | sudo python
tombrown52

1
「| python」だけでは機能しなかったため、この回答は「| sudo python」を追加して私を救いました。ありがとう
patti_jane

14

これらの答えのいくつかを試してから同僚に連絡した後、Ubuntu 16.04で私にとってうまくいったのは:

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

私の場合、問題があったのは古いバージョンの枕3.1.1だけでした(枕4.xは問題なく動作しました)が、これで解決しました!


8

もう少しsudoが必要でした。次に、easy_installを使用してpipをインストールしました。動作します。

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

1
sudovirtualenvでは必要ありません
igniteflow

確かに、私はvirtualenvなしで同じ問題を抱えていました。
タリオン

5

私はこれを行うことでvirtualenvのエラーを修正しました:

からpkg_resources.pyをコピーしました

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

/Library/Python/2.7/site-packages/

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

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


はい、いくつかのプロジェクトでは、このソリューションは、(私にとって)最高です
グエン

3

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

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

pip install -r requirements.txtが機能せず、上記のエラーが表示されます!

サブフォルダの名前を「site」から「src」に変更すると、問題が解決しました。たぶんpipは「サイトパッケージ」を探していますか?クレイジー。


2

virtualenvを作成したユーザーとは別のユーザーとしてアクティブ化したときに、この問題が発生しました。許可の問題のようです。@cwcで回答を試してみたところ、これを発見し、出力でこれを確認しました。

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

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


2

今日もこの問題がありました。私は仮想環境内でのみ問題を抱えています。

私の解決策は、virtual envを非アクティブ化し、pipを使用してvirtualenvを削除してからアンインストールし、再インストールすることでした。その後、プロジェクト用に新しい仮想環境を作成しました。その後、pipは通常の環境と同様に仮想環境内でも正常に動作しました。


2

彼らはbitbucketから移動し、現在github(https://github.com/pypa/setuptools)にいるようです

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

wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python

ファイル "/python/Python-3.5.1/Lib/urllib/request.py"、行162、urlopenでの戻り値opener.open(url、data、timeout)ファイル "/python/Python-3.5.1/Lib/urllib /request.py "、行465、オープンファイル" /python/Python-3.5.1/Lib/urllib/request.py "、行488、_open 'unknown_open'、req)ファイル" /python/Python-3.5 .1 / Lib / urllib / request.py "、行443、_call_chain結果= func(* args)ファイル" /python/Python-3.5.1/Lib/urllib/request.py "、行1310、unknown_open raise URLError( 'unknown url type:%s'%type)urllib.error.URLError:<urlopen error unknown url type:https>
JDOaktown

2

私にとっては、の権限の問題であることが判明しましたsite-packages。それは私の開発環境だけなので、権限を上げてすべてが再び機能します。

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


2

Windowsでは、Python 3.7を使用して、これは私のために働きました:

pip install --upgrade setuptools --user

--user ホームディレクトリにパッケージをインストールします。管理者権限は必要ありません。


2

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

conda upgrade -c anaconda setuptools

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

conda install -c anaconda setuptools

これらすべての方法が機能しない場合は、conda環境をアップグレードできます。ただし、状況が悪化するため、一部のパッケージを再インストールしてアンインストールする必要があることはお勧めしません。


1

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


1

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

virtualenv venv

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

何がうまくいったか

python3 -m virtualenv venv

同じことは、pipを使用しようとしている場合にも当てはまります。


0

OSXのこのガイドを実行しようとしたときに、この答えに遭遇しました。私のために働いたのは、走った後python get-pip、私はまたそうしなければならなかったことeasy_install pipでした。これで、pipをまったく実行できないという問題が修正されました。私たくさんの古いmacportものをインストールしていました。競合している可能性があります。



0

だけであなた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

私はCentOS 6.7を使用していて、私のPythonは2.6.6から2.7.11にアップグレードされただけでした。

sudo yum install python-devel

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


0

投稿された回答がどれもうまくいかなかったので、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/


トレースバック(最後の最後の呼び出し):ファイル "/ usr / bin / easy_install"、5行目、<module>のpkg_resources import load_entry_point ImportErrorからのファイル: 'pkg_resources'という名前のモジュールなし
JDOaktown

owner-Dimension-3000 owner#sudo easy_install pipトレースバック(最新の呼び出しは最後):ファイル "/ usr / bin / easy_install"、5行目、<module>のpkg_resources import load_entry_point ImportError: 'pkg_resources'という名前のモジュールはありませんowner-Dimension -3000 owner#pip install --upgrade setuptools Traceback(most last call last):ファイル "/ usr / bin / pip"、line 5 in <module> from pkg_resources import load_entry_point ImportError:No module module 'pkg_resources' owner-Dimension -3000オーナー#
JDOaktown

インストールされているpipバージョンを最初に削除しましたか?
user13107

0

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

これを修正するために、仮想環境をターゲットディレクトリに再インストールしました。これにより、不足しているセットアップツールがクリーンアップされ、問題が解決しました。

例えば:

~/RepoDir/TestProject$ virtualenv TestEnvironmentDir

0

私にとっての良い修正は--no-download、virtualenvのオプションを使用することでした(VIRTUALENV_NO_DOWNLOAD=1 toxtox用)。



0

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最後に、インストールコマンドを実行します。

apt-get install python-pip

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


0

私のGoogle App Engine環境でそのエラーが発生しました。そしてpip install -t lib setuptools、問題を修正しました。


0

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.