ImportErrorの原因:OS XでPythonをアップグレードした後、pkg_resourcesという名前のモジュールがありませんか?


82

MacでPythonを2.6.4に更新しました。dmgパッケージからインストールしました。

バイナリがPythonパスを正しく設定していないようだったので、追加'/usr/local/lib/python2.6/site-packages'しました.bash_profile

>>> pprint.pprint(sys.path)  
['',
'/Users/Bryan/work/django-trunk', 
'/usr/local/lib/python2.6/site-packages',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python26.zip',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-darwin',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac/lib-scriptpackages',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-old',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages']

iPythonを実行できないため、必要なパスはこれだけではないようです。

$ ipython  
Traceback (most recent call last):  
  File "/usr/local/bin/ipython", line 5, in <module>  
  from pkg_resources import load_entry_point  
ImportError: No module named `pkg_resources`

私はグーグル検索をしました、そして、私はpkg_resourcesそれが道にあることをインストールする方法または確かめる方法を本当に理解することができません。

これを修正するには何をする必要がありますか?

回答:


73

[更新] TL; DRpkg_resourcesは、Distributeまたはsetuptoolsのいずれかによって提供されます。

[更新2] PyCon 2013で発表されたようにDistributesetuptoolsプロジェクトとプロジェクトが再統合されました。 Distribute現在は非推奨であり、新しいcurrentを使用する必要がありますsetuptools。これを試して:

curl -O https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
python ez_setup.py

または、より良いのはpip、高レベルのインターフェースとして電流を使用setuptoolsし、それが内部で使用されることです。

[OPの特定の問題に対するより長い答え]:

質問には答えませんが、Appleが提供するPython(10.5では2.5または10.6では2.6.1)からアップグレードしたか、python.org Python2.5からアップグレードしたと想定しています。いずれの場合も、重要な点は、各Pythonインスタンスに、追加のパッケージがインストールされる独自のサイトパッケージライブラリを含む独自のライブラリがあることです。(/usr/local/libちなみに、デフォルトでは使用されていません。)つまり、新しいpython2.6に必要な追加のパッケージをインストールする必要があります。これを行う最も簡単な方法は、最初に新しいpython2.6が検索で最初に表示されることを確認することです$PATH(つまり、入力python2.6すると期待どおりに呼び出されます)。python2.6インストーラーは.bash_profile、フレームワークのbinディレクトリをの先頭に配置するように変更する必要があります$PATH。次に、をeasy_install使用してインストールしますそこにある指示に従うsetuptoolspkg_resourcesモジュールは自動的に、この段階でインストールされています。

次に、新しくインストールしたバージョンeasy_install(またはpip)を使用してをインストールしipythonます。

easy_install ipython

または

pip install ipython

site-packagesそのpythonインスタンスの正しい場所に自動的にインストールされ、準備ができているはずです。


昨夜setuptoolsをインストールしようとしたときにめちゃくちゃになりました。シェルファイルのように.eggファイルを実行してインストールを完了するのを怠りました。$ shsetuptools-0.6c11-py2.6.egg新しいPythonパスがどこかに追加されたと思います。
BryanWheelock 2009年

注:私のためにこの問題を解決し、実際の答えは見below-たstackoverflow.com/a/10538341/293064
ジェイ・テイラーが

この古い回答を少し更新して、解決策がインストールDistributeまたはのいずれかであることをより明確にしましたsetuptools。特定の手順はリンクにありました。OPの質問は他の項目をカバーしました。
Ned Deily 2013

distribute新しいものsetuptoolsを支持しての非推奨を反映し、言及するためのさらなる編集pip
Ned Deily 2013

1
取得:python ez_setup.py File "ez_setup.py", line 1 <!DOCTYPE html> ^ SyntaxError: invalid syntax
hi15 2017年

76

私は同じに遭遇しましたImportError。どういうわけか、setuptoolsパッケージは私のPython環境で削除されました。

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

curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python

のバージョンdistribute、またはsetuptools0.6未満のバージョンがある場合は、最初にアンインストールする必要があります。*

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


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


3
これはそれを行う正しい方法です。pkg_resourceseasy_installがないと、おそらく機能しません(したがってeasy_installpipsetuptoolsをインストールできません)。
アレックスチャーチル

Distributeまたはsetuptoolsのインストールは、実際、受け入れられた回答が推奨するものです。元の回答を少し更新して、わかりやすくしました。ところで、最初にファイルの内容を調べずに、そのような安全でないURLから何かをダウンロードしてインストールするのはやや危険です。
Ned Deily 2013

7

mac os 10.7でPythonをアップグレードし、pkg_resourcesが機能しない場合、これを修正する最も簡単な方法は、前述のNedのようにsetuptoolsを再インストールすることです。

sudo pip install setuptools --upgrade
or sudo easy_install install setuptools --upgrade

3

私のシステム(OSX 10.6)では、そのパッケージは

/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.py

それがあなたの道にないのか、それとも単に道にないのかを理解するのに役立つことを願っています。


1

その理由は、IPythonモジュールがPYTHONPATHにないことが原因である可能性があります。

IPythonをダウンロードしてから、pythonsetup.pyをインストールする場合

セットアップでは、モジュールIPythonがPythonパスに追加されません。手動でPYTHONPATHに追加することをお勧めします。あなたがした後にそれは働くはずです:

エクスポートPYTHONPATH = / pathtoIPython:$ PYTHONPATH

この行を.bashrcまたは.profileに追加して、永続的にします。


0

これはOSXとは関係ありませんが、組み込みシステム(Beagle Bone Angstrom)ではまったく同じエラーメッセージが表示されました。次のipkパッケージをインストールすると解決しました。

opkg install python-setuptools
opkg install python-pip

0

Ubuntuでこのエラーが発生し、次の問題が発生しました。

以下を実行して、Dropboxバイナリを削除し、再度ダウンロードします。

sudo rm -rf /var/lib/dropbox/.dropbox-dist
dropbox start -i

0

アウトバーン関連のプロジェクトに取り組んでいるときに、同じ問題が発生しました。

1)そこで、setuptools.-0.9.8.tar.gzフォームhttps://pypi.python.org/packages/source/s/setuptools/をダウンロードして解凍します。

2)次に、pkg_resourcesモジュールを取得し、必要なフォルダーにコピーします。**私の場合、そのフォルダーはC:\ Python27 \ Lib \ site-packages \ autobahnでした


0

私の場合、パッケージpython-pygmentsが見つかりませんでした。コマンドで修正できます:

sudo apt-get install python-pygments

に問題がある場合pandoc。とをインストールする必要がpandocありpandoc-citeprocます。

sudo apt-get install pandoc pandoc-citeproc

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