Setuptoolsのベンダーによるpipが、pypa / setuptools#885で報告された問題を引き起こしているようです(問題が発生しているユーザーの進行中のレポートに関係している可能性があります)。 これは、 develop-inst-no-deps
ステップの完了後、テスト実行中にpip freeze
がtox
によって呼び出されたときに発生するトレースバックです。
Traceback (most recent call last):
File "/Users/jaraco/Dropbox/code/yg/support/yg.piistore/.tox/python/bin/pip", line 7, in <module>
from pip import main
File "/Users/jaraco/Dropbox/code/yg/support/yg.piistore/.tox/python/lib/python3.6/site-packages/pip/__init__.py", line 26, in <module>
from pip.utils import get_installed_distributions, get_prog
File "/Users/jaraco/Dropbox/code/yg/support/yg.piistore/.tox/python/lib/python3.6/site-packages/pip/utils/__init__.py", line 27, in <module>
from pip._vendor import pkg_resources
File "/Users/jaraco/Dropbox/code/yg/support/yg.piistore/.tox/python/lib/python3.6/site-packages/pip/_vendor/pkg_resources/__init__.py", line 3018, in <module>
<strong i="13">@_call_aside</strong>
File "/Users/jaraco/Dropbox/code/yg/support/yg.piistore/.tox/python/lib/python3.6/site-packages/pip/_vendor/pkg_resources/__init__.py", line 3004, in _call_aside
f(*args, **kwargs)
File "/Users/jaraco/Dropbox/code/yg/support/yg.piistore/.tox/python/lib/python3.6/site-packages/pip/_vendor/pkg_resources/__init__.py", line 3046, in _initialize_master_working_set
dist.activate(replace=False)
File "/Users/jaraco/Dropbox/code/yg/support/yg.piistore/.tox/python/lib/python3.6/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2578, in activate
declare_namespace(pkg)
File "/Users/jaraco/Dropbox/code/yg/support/yg.piistore/.tox/python/lib/python3.6/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2152, in declare_namespace
_handle_ns(packageName, path_item)
File "/Users/jaraco/Dropbox/code/yg/support/yg.piistore/.tox/python/lib/python3.6/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2092, in _handle_ns
_rebuild_mod_path(path, packageName, module)
File "/Users/jaraco/Dropbox/code/yg/support/yg.piistore/.tox/python/lib/python3.6/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2121, in _rebuild_mod_path
orig_path.sort(key=position_in_sys_path)
AttributeError: '_NamespacePath' object has no attribute 'sort'
唯一の修正は、31.0.1以降でsetuptoolsを再ベンダー化することだと思います。
setup.pyスクリプトにバグがあることに気づきました。 パッケージ名には、適切なプロジェクト名ではなく、名前の潜在的な「スケルトン」が含まれていました。 これを修正した後、問題は解決しました。おそらく、適切なプロジェクト名yg.piistore
がskeleton
とは異なる並べ替え順序で表示されるためです。 それでも、パッケージの順序と名前、およびそれらの依存関係によっては、この問題が一部のユーザーに存在すると思われます。
おそらく、この問題は、インストールされているパッケージが非名前空間パッケージである場合にのみトリガーされますが、名前空間パッケージに依存します。
同じエラーが発生しました( '_NamespacePath' object has no attribute 'sort'
)。 私のセットアップの以下の詳細が役立つことを願っています。
3つのパッケージが使用されています(最初のパッケージはおそらく重要ではありませんが)。 パッケージ名を匿名にしました。
acme.foo
:これは私のハードディスク上のディレクトリにあるので、これらはすべて有効なパスです:/path/to/acmefoo/
はプロジェクトルートです/path/to/acmefoo/acme/foo
には、パッケージのソースコードが含まれています/path/to/acmefoo/acme/__init__.py
は、次のテキストのみが含まれます: __import__('pkg_resources').declare_namespace(__name__)
/path/to/acmefoo/setup.py
はpackages=["acme", "acme.foo"], namespace_packages=["acme"]
/path/to/acmefoo/setup.py
含まれます(もちろん、 setuptools
ではなくdistutils
)。acme.bar
:これは似ていますが、そのsetup.py
はentrypoints={'console_scripts': ['ac_bar = acme.bar.main:main']}
が含まれています(ただし、これを削除しても再現する必要はありません)。acme.baz
:これは、 setup.py
がないことを除いて同様です。pip install /path/to/acmefoo/
実行するだけで、 acme.foo
とacme.bar
直接インストールしました。 次に、現在の作業ディレクトリをacme.baz
に変更すると、 pip freeze
またはac_bar
を実行するとエラーが発生します。
いくつかの追加ポイント:
/path/to/acmebaz/acme/__init__.py
(つまり、 pip install
edされていないパッケージ)を削除すると、エラーの発生が停止します。setuptools==28.0.0
してこの手順全体を実行しても、エラーは再現されません。acme.foo
とacme.bar
をsetuptools==32.3.1
acme.bar
と一緒にインストールした場合、 setuptools==28.0.0
にダウングレードしてから、 /path/to/acmebaz
でpip freeze
を実行します。私はエラーを取得するようにしてください。 したがって、重要なのは、現在アクティブなバージョンではなく、 pip
インストールに使用されるsetuptools
のバージョンです。インストールしてからsetuptoolsをダウングレードしてからpipfreezeを実行すると、エラーが発生します。
この動作は、ほぼ確実にpypa / setuptools#250のSetuptoolsv31での変更を意味します。 特に、 https://github.com/pypa/setuptools/commit/7e25fd910d1ff5259c0768d3b54a9bf03bce4279は、 nspkg-pth
ファイルの生成方法を更新しました。ここで_NamespacePath
オブジェクトが作成されます。
しかし、 sort
エラーがpkg_resources
対処されたのは、 Setuptools31.0.1だけpkg_resources
。 ただし、私のトレースバックでわかるように、エラーはpkg_resourcesのベンダーバージョンで発生していますが、まだその修正はありません。
興味深いのは、acme(bazの場合)から名前空間パッケージ宣言を削除するとエラーが停止する理由です。 そこで何が起こっているのかはわかりませんが、もう少し調査する価値があるでしょう。
PythonバージョンPython3.6.0b2
Pipバージョン9.0.1
オペレーティングシステムUbuntu16.10(4.9.0-1.1-liquorix-amd64#1 ZEN SMP PREEMPT liquorix 4.9-3(2017-01-07)x86_64 x86_64 x86_64 GNU / Linux)
`` `トレースバック(最後の最後の呼び出し):
_run_module_as_mainのファイル "/usr/lib/python3.6/runpy.py"、行183
mod_name、mod_spec、code = _get_module_details(mod_name、_Error)
_get_module_detailsのファイル "/usr/lib/python3.6/runpy.py"、行142
_get_module_details(pkg_main_name、error)を返します
_get_module_detailsのファイル "/usr/lib/python3.6/runpy.py"、行109
__import __(pkg_name)
ファイル "/usr/local/lib/python3.6/dist-packages/pip/__init__.py"、26行目
pip.utilsからimportget_installed_distributions、get_prog
ファイル "/usr/local/lib/python3.6/dist-packages/pip/utils/__init__.py"、27行目
pip._vendorからimportpkg_resources
ファイル "/usr/local/lib/python3.6/dist-packages/pip/_vendor/pkg_resources/__init__.py"、行3018、
@_call_aside
_call_asideのファイル "/usr/local/lib/python3.6/dist-packages/pip/_vendor/pkg_resources/__init__.py"、行3004
f( args、* kwargs)
ファイル "/usr/local/lib/python3.6/dist-packages/pip/_vendor/pkg_resources/__init__.py"、行3046、_initialize_master_working_set
dist.activate(replace = False)
ファイル "/usr/local/lib/python3.6/dist-packages/pip/_vendor/pkg_resources/__init__.py"、2578行目、アクティブ化中
宣言名前空間(pkg)
ファイル "/usr/local/lib/python3.6/dist-packages/pip/_vendor/pkg_resources/__init__.py"、2152行目、declare_namespace
_handle_ns(packageName、path_item)
ファイル "/usr/local/lib/python3.6/dist-packages/pip/_vendor/pkg_resources/__init__.py"、行2092、_handle_ns
_rebuild_mod_path(path、packageName、module)
ファイル "/usr/local/lib/python3.6/dist-packages/pip/_vendor/pkg_resources/__init__.py"、2121行目、_rebuild_mod_path
orig_path.sort(key = position_in_sys_path)
AttributeError: '_ NamespacePath'オブジェクトに属性 'sort'がありません
sys.excepthookのエラー:
トレースバック(最後の最後の呼び出し):
ファイル "/usr/lib/python3/dist-packages/apport_python_hook.py"、63行目、apport_excepthook
apport.fileutilsからimportpossible_packaged、get_recent_crashes
ファイル "/usr/lib/python3/dist-packages/apport/__init__.py"、5行目、
apport.reportからインポートレポート
ファイル "/usr/lib/python3/dist-packages/apport/report.py"、30行目
apport.fileutilsをインポートします
ファイル "/usr/lib/python3/dist-packages/apport/fileutils.py"、23行目、
apport.packaging_implからimplをパッケージとしてインポートします
ファイル "/usr/lib/python3/dist-packages/apport/packaging_impl.py"、23行目、
aptをインポート
ファイル "/usr/lib/python3/dist-packages/apt/__init__.py"、23行目、
apt_pkgをインポートします
ModuleNotFoundError:「apt_pkg」という名前のモジュールがありません
元の例外は次のとおりです。
トレースバック(最後の最後の呼び出し):
_run_module_as_mainのファイル "/usr/lib/python3.6/runpy.py"、行183
mod_name、mod_spec、code = _get_module_details(mod_name、_Error)
_get_module_detailsのファイル "/usr/lib/python3.6/runpy.py"、行142
_get_module_details(pkg_main_name、error)を返します
_get_module_detailsのファイル "/usr/lib/python3.6/runpy.py"、行109
__import __(pkg_name)
ファイル "/usr/local/lib/python3.6/dist-packages/pip/__init__.py"、26行目
pip.utilsからimportget_installed_distributions、get_prog
ファイル "/usr/local/lib/python3.6/dist-packages/pip/utils/__init__.py"、27行目
pip._vendorからimportpkg_resources
ファイル "/usr/local/lib/python3.6/dist-packages/pip/_vendor/pkg_resources/__init__.py"、行3018、
@_call_aside
_call_asideのファイル "/usr/local/lib/python3.6/dist-packages/pip/_vendor/pkg_resources/__init__.py"、行3004
f( args、* kwargs)
ファイル "/usr/local/lib/python3.6/dist-packages/pip/_vendor/pkg_resources/__init__.py"、行3046、_initialize_master_working_set
dist.activate(replace = False)
ファイル "/usr/local/lib/python3.6/dist-packages/pip/_vendor/pkg_resources/__init__.py"、2578行目、アクティブ化中
宣言名前空間(pkg)
ファイル "/usr/local/lib/python3.6/dist-packages/pip/_vendor/pkg_resources/__init__.py"、2152行目、declare_namespace
_handle_ns(packageName、path_item)
ファイル "/usr/local/lib/python3.6/dist-packages/pip/_vendor/pkg_resources/__init__.py"、行2092、_handle_ns
_rebuild_mod_path(path、packageName、module)
ファイル "/usr/local/lib/python3.6/dist-packages/pip/_vendor/pkg_resources/__init__.py"、2121行目、_rebuild_mod_path
orig_path.sort(key = position_in_sys_path)
AttributeError: '_ NamespacePath'オブジェクトに属性 'sort'がありません
`` `
このエラーも発生します。 setuptools v28にダウングレードしようとしましたが、解決しませんでした。 また、このエラーはPython3.5.2では表示されません。 しかし今、私はpipにHerokuでこのエラーがないことに気づきました。 Heroku内でPython3.6で実行されているDjangoアプリがありますが、問題は発生しません。
私にとっての解決策は、名前空間パッケージを放棄することでした。 acme/foo
はacme_foo
。 Pythonインフラストラクチャの奥深くに埋もれているいくつかのコーナーケースがあるようです(Cythonの欠如/拡張モジュールのサポートは別です)そしてこれが最後の藁でした。
この問題は、これらの失敗したテストに関係pmxbot
)内に別の名前空間パッケージを必要とする名前空間パッケージ( pmxbot.rss
)の例です。 pmxbot
)。
これらの失敗したテストの問題は、他のプロジェクトを更新してその名前空間パッケージを再度宣言することで修正されました。
@jaraco同じ質問に遭遇しましたが、修正方法がわかりませんか? そして、私のpip
は、すべてをインストールするために機能しません。 助けて ! :sos:
Python
3.5.2
ピップ9.0.1
Setuptools34.2.0
>> pip3
Traceback (most recent call last):
File "/usr/bin/pip3", line 7, in <module>
from pip import main
File "/usr/local/python3.5.2/lib/python3.5/site-packages/pip/__init__.py", line 26, in <module>
from pip.utils import get_installed_distributions, get_prog
File "/usr/local/python3.5.2/lib/python3.5/site-packages/pip/utils/__init__.py", line 27, in <module>
from pip._vendor import pkg_resources
File "/usr/local/python3.5.2/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 3018, in <module>
<strong i="15">@_call_aside</strong>
File "/usr/local/python3.5.2/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 3004, in _call_aside
f(*args, **kwargs)
File "/usr/local/python3.5.2/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 3046, in _initialize_master_t
dist.activate(replace=False)
File "/usr/local/python3.5.2/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2578, in activate
declare_namespace(pkg)
File "/usr/local/python3.5.2/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2152, in declare_namespace
_handle_ns(packageName, path_item)
File "/usr/local/python3.5.2/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2092, in _handle_ns
_rebuild_mod_path(path, packageName, module)
File "/usr/local/python3.5.2/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2121, in _rebuild_mod_path
orig_path.sort(key=position_in_sys_path)
AttributeError: '_NamespacePath' object has no attribute 'sort'
ここでも同じですが、私のピップは同じエラーで壊れているように見えます。 私はpipのユーザーインストールを使用しています:
〜Pythonトレースバックトレースバック(最後の最後の呼び出し):ファイル "/home/stavros/.local/bin/pip"、7行目
それ以降のsetuptoolsバージョンを使用してリリースされるパッケージ(特にホイール)が増えるにつれて、この問題がより顕著になることに気づきました。 アップストリームの問題でさらに分析を行いましたが、pipのpkg_resourcesを更新する以外に修正はありません。
次の仕様で同じエラーが発生します。
Traceback (most recent call last):
File "/python/v3/Libraries/pip/Upgrade.py", line 4, in <module>
import pip
File "/home/eric/.local/lib/python3.5/site-packages/pip/__init__.py", line 26, in <module>
from pip.utils import get_installed_distributions, get_prog
File "/home/eric/.local/lib/python3.5/site-packages/pip/utils/__init__.py", line 27, in <module>
from pip._vendor import pkg_resources
File "/home/eric/.local/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 3018, in <module>
<strong i="9">@_call_aside</strong>
File "/home/eric/.local/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 3004, in _call_aside
f(*args, **kwargs)
File "/home/eric/.local/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 3046, in _initialize_master_working_set
dist.activate(replace=False)
File "/home/eric/.local/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2578, in activate
declare_namespace(pkg)
File "/home/eric/.local/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2152, in declare_namespace
_handle_ns(packageName, path_item)
File "/home/eric/.local/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2092, in _handle_ns
_rebuild_mod_path(path, packageName, module)
File "/home/eric/.local/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2121, in _rebuild_mod_path
orig_path.sort(key=position_in_sys_path)
AttributeError: '_NamespacePath' object has no attribute 'sort'
パッケージのアップグレードに使用されるPythonコード:
#!/usr/bin/python3
# -*- coding: utf8 -*-
import pip
import subprocess
try:
for distribution in pip.get_installed_distributions():
subprocess.call('python3 -m pip install --upgrade ' + distribution.project_name, shell=True)
except OSError:
print('Permission denied')
conda
インストールした後、私のpipは再び機能します。https://conda.io/docs/install/quick.htmlおよびhttps://doc.scrapy.org/en/latest/intro/install.html#を参照してください。試してみる
名前空間内の他のパッケージがインストールされていて、それらのパッケージの1つに-nspkg.pth
がある場合、名前空間パッケージを含むディレクトリからpip install
を実行すると、この問題がより一般的になり、確実に複製できるようになります。後期のsetuptoolsでビルドされた-nspkg.pth
ファイル。
編集:私がこれを投稿することになった問題は、テストされているパッケージの欠陥を修正することによって修正されることが再び判明しました。
私の問題(#4309)はこれに非常に似ているので、 @ jaracoはここで私を指摘しました。
ただし、この場合、同じ名前空間(minchin.text)内の別のnamespace-dパッケージに依存するnamespace-dパッケージ(minchin.releaser)をインストールしようとしています。
私はまったく同じ問題を抱えていますが、pip3のバージョンを尋ねても、複雑なことを試す必要はありません。
$ python3 /usr/local/bin/pip3 --version
Traceback (most recent call last):
File "/usr/local/bin/pip3", line 7, in <module>
from pip import main
File "/usr/local/lib/python3.5/dist-packages/pip/__init__.py", line 26, in <module>
from pip.utils import get_installed_distributions, get_prog
File "/usr/local/lib/python3.5/dist-packages/pip/utils/__init__.py", line 27, in <module>
from pip._vendor import pkg_resources
File "/usr/local/lib/python3.5/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 3018, in <module>
<strong i="6">@_call_aside</strong>
File "/usr/local/lib/python3.5/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 3004, in _call_aside
f(*args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 3046, in _initialize_master_working_set
dist.activate(replace=False)
File "/usr/local/lib/python3.5/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 2578, in activate
declare_namespace(pkg)
File "/usr/local/lib/python3.5/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 2152, in declare_namespace
_handle_ns(packageName, path_item)
File "/usr/local/lib/python3.5/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 2092, in _handle_ns
_rebuild_mod_path(path, packageName, module)
File "/usr/local/lib/python3.5/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 2121, in _rebuild_mod_path
orig_path.sort(key=position_in_sys_path)
AttributeError: '_NamespacePath' object has no attribute 'sort'
python3-pip
とpython3-setuptools
両方をapt-get
再インストールしようとしましたが、何も変わりません。
さらに奇妙な動作は、 pip3
スクリプトを他のインタープリター(たとえばipython3
で実行すると、機能することです。
$ ipython3 /usr/local/bin/pip3 -- --version
pip 9.0.1 from /usr/local/lib/python3.5/dist-packages (python 3.5)
@jaraco setuptools> = 31.0.1をベンダー化すると、この問題は修正されますか?
私の場合は@pradyunsg、setuptoolsのvendoring 34.3.0は、私のためにそれを修正しました。
はい。 eaccb88を参照してください。
@jaracoこれはマスターですか? 関連する変更エントリが表示されません。
この問題が発生する前に私たちが知っているpipバージョンはありますか? 「この問題が修正済みとしてマークされるまで、ピップXYZにダウングレードする」ようにユーザーにアドバイスできると便利です。
#4330を参照
sudo apt-get upgrade python-setuptools
または、試してみてください
sudo dpkg --get-selections | grep -E "^python" | grep install | cut -f1 | xargs apt-get --reinstall -y install
私はこれらのトリックを試しましたが、今のところ何も機能しなかったので、これが私の永続的で便利な修正です:
/path/to/usr/local/python3.5/dist-packages/
で、ファイルpip/_vendor/pkg_resources/__init__.py
2121行目で、次のように変更します。
orig_path.sort(key=position_in_sys_path)
と
try:
orig_path.sort(key=position_in_sys_path)
except AttributeError:
print("BUG: Is it bad if orig_path is not sorted correctly?")
この修正のみでpip9.0.2を使用できますか?新しいバージョンのsetuptoolsがベンダーに提供されていますか?
これを行う1つの方法は、9.0.1から分岐し、 @ jaracoで言及されている修正をチェリーピックして、9.0.2にタグ付けし、リリースしてマスターにマージすることです。
/ cc @dstufft @xavfernandez
@Naereenがエラーをサイレンシングすると、別のバグが発生した場合に問題が発生する可能性があります。 str(e)
も印刷することをお勧めします。
@LoganDarkもちろん、私の「修正」は、よりクリーンなソリューションを待っている間に機能的なpip
コマンドを実行するためだけに、マージまたは使用することを意図したものではありませんでした。
@Naereen確かに。 私はrm -rf ~/.local/lib/python3.6/site-packages/*
で、うまくいきました。
もちろん、それはすべての人にとっての解決策ではないかもしれません。なぜなら、彼らは取り出したくない特定のパッケージをインストールしているかもしれないからです。 失ったものはすべて簡単に再インストールできるのでやりました
virtualenvのpipでは何もできませんでした。 pip
入力するだけでもエラーが発生しました。
私のvirtualenvのeasy_install pip
により、インストールの最後にエラーが表示されましたが、再び機能するようになりました。
これはマスターですか?
いいえ。削除されたhotfix / issue-4216というブランチにありました。 b005a9bが同じ目標を達成しているようです。
この問題が発生する前に私たちが知っているpipバージョンはありますか?
あまり。 上記のように、Setuptools 31が名前空間パッケージにsetup.py develop
サポートを導入したときに問題が発生し、-nspkg.pthファイルの拡張が必要になりました。 この変更は基本的に、古いバージョンのpkg_resourcesがこの新しい形式をサポートしておらず、窒息することを意味していました。
そのソート呼び出しが行われる前に、古いバージョンのsetuptoolsをベンダーに提供している古いバージョンのpipがあると考えられます。
この修正のみでpip9.0.2を使用できますか?新しいバージョンのsetuptoolsがベンダーに提供されていますか?
これは、コメントなしで削除されたホットフィックスブランチで提案したものです。 それが私のプロジェクトだったとしたら、できるだけ早く修正を加えたいと思います。
このバグはこのスレッドで報告されています。 https://github.com/opencivicdata/python-opencivicdata-django/issues/80
@palewireこれを知らせてくれてありがとう。
そうは言っても、あなたは通常、逆にリンクしたいと思うでしょう...私は推測しますが、それほど重要ではありません。
スパマーになってすみません!
そこで、対応を計画することができますが、これがいつ修正されるかについての洞察はありますか? 私たちがそれを動かすのを助けることができるいくつかの方法はありますか?
今週末は9.0.2をカットしようと思います。
ここで煩わしいという意味ではありませんが、この問題に関する更新はありますか? tox
を使用するCI環境があり、python3.6用にビルドしようとすると失敗します。 ローカルでは、python3.6環境をアクティブ化し、手動でeasy_install pip
実行することで、それを機能させることができます。 しかし、CI環境の回避策を見つけることができませんでした。
ここでもまだ壊れたピップがあり、Naereenの回避策はすべてのシナリオで機能するとは限りません(試していただきありがとうございます)。 進捗状況@dstufft ?
SOS:みんな、私は大きな問題を抱えています、助けてください! virtualenvをアクティブ化しようとすると、長い行のエラーが発生しました。
Traceback (most recent call last):
File "/anaconda/bin/conda", line 6, in <module>
sys.exit(conda.cli.main())
File "/anaconda/lib/python3.6/site-packages/conda/cli/main.py", line 151, in main
activate.main()
File "/anaconda/lib/python3.6/site-packages/conda/cli/activate.py", line 118, in main
from conda.utils import shells
File "/anaconda/lib/python3.6/site-packages/conda/utils.py", line 13, in <module>
from .gateways.disk.read import compute_md5sum
File "/anaconda/lib/python3.6/site-packages/conda/gateways/disk/read.py", line 22, in <module>
from ...models.channel import Channel
File "/anaconda/lib/python3.6/site-packages/conda/models/channel.py", line 9, in <module>
from ..base.context import context
File "/anaconda/lib/python3.6/site-packages/conda/base/context.py", line 19, in <module>
from .._vendor.auxlib.path import expand
File "/anaconda/lib/python3.6/site-packages/conda/_vendor/auxlib/path.py", line 8, in <module>
import pkg_resources
File "<frozen importlib._bootstrap>", line 961, in _find_and_load
File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 646, in _load_unlocked
File "<frozen importlib._bootstrap>", line 616, in _load_backward_compatible
File "/anaconda/lib/python3.6/site-packages/setuptools-27.2.0-py3.6.egg/pkg_resources/__init__.py", line 2985, in <module>
File "/anaconda/lib/python3.6/site-packages/setuptools-27.2.0-py3.6.egg/pkg_resources/__init__.py", line 2971, in _call_aside
File "/anaconda/lib/python3.6/site-packages/setuptools-27.2.0-py3.6.egg/pkg_resources/__init__.py", line 3013, in _initialize_master_working_set
File "/anaconda/lib/python3.6/site-packages/setuptools-27.2.0-py3.6.egg/pkg_resources/__init__.py", line 2544, in activate
File "/anaconda/lib/python3.6/site-packages/setuptools-27.2.0-py3.6.egg/pkg_resources/__init__.py", line 2118, in declare_namespace
File "/anaconda/lib/python3.6/site-packages/setuptools-27.2.0-py3.6.egg/pkg_resources/__init__.py", line 2058, in _handle_ns
File "/anaconda/lib/python3.6/site-packages/setuptools-27.2.0-py3.6.egg/pkg_resources/__init__.py", line 2087, in _rebuild_mod_path
AttributeError: '_NamespacePath' object has no attribute 'sort'
Python 3.6
ピップ9.0.1
mac 10.6
@ Mika15これは、保留中の
関連するチケットから、最新のマスターコードをテストできます。
pip install -I https://github.com/pypa/pip/archive/master.zip#egg=pip
_注:_Ubuntuでは、上記のコマンドを実行する前にユーザーサイトパッケージを削除する必要がありました( rm -r ~/.local/lib/python3.5/site-packages
)
私の場合、 pip
コマンドをまったく実行できませんでした。 最終的に機能する唯一の解決策は、dist-packagesからpipを削除することでした。
git clone https://github.com/pypa/pip.git
cd pip
python3.6 setup.py install
それからそれは働き始めました
@ cas--保留中の表示を提供できますか? 最後のマイナー9リリースには4日かかりました;)。
Windowsでも同じエラーが発生します。PyCharmでAnacondaを使用しようとしていますが、仮想環境の作成時に正確なエラーが表示されます。 @ Mika15の問題に似ていると思います。
@ cas-9.0.2リリースのアップデートはありますか?
私はこのプロジェクトの開発者ではありません。 「私も」の投稿の状況を説明していました。
pipをマスターpip 10.0.0.dev0 (python 3.6)
アップグレードしましたが、それでも失敗します(パッケージdvc
)。
setuptools
を35にアップグレードすると解決しました。
Nixpkgsでは、我々はして問題を解決し、更新vendored pkg_resources
によって提供されるバージョンにsetuptools
36.0.1に。
@ZhukovGreenのソリューションは私のために働いた。 /usr/local/lib/python3.5/dist-packagesの下で、
sudo rm -r pip
sudo rm -r pip-9.0.1.dist-info
pip 9.0.1にパッチを作成し、ベンダーのsetuptools
更新しました。これにより、この問題が修正されます。 パッチを適用したpipを入手したい場合は、 https://github.com/pradyunsg/pip/tree/hotfix/9.0.2で入手でき
pip install --ignore-installed --pre "https://github.com/pradyunsg/pip/archive/hotfix/9.0.2.zip#egg=pip"
PS:私はpipのコア開発者ではなく、このパッチを作成するために少し時間を取った人です。
3台の2台のコンピューターで同じエラーが発生しましたが、pycharm2017.1.4からパッケージを更新した場合のみです。 コマンドラインからpipは問題なく動作します。 私が使う:
Windows 7.1 / 8.164ビット
Python 3.6.164ビット
ピップ9.0.1
setuptools 36.0.1
何か案は?
参照: https :
やあみんな、
私はグーグルホームで学士論文のために働いています、私の教授は私に私のプロジェクトをシャットダウンすることを望んでいます、私は4月からそれに取り組んでいます。 私を助けてください、さもなければ私は私の卒業を6ヶ月遅らせる必要があります。 まだ誰も私を助けることができませんでした。 私はこれを受け取っています:AttributeError: '_ NamespacePath'オブジェクトには属性がありません 'sort'
私はあなたがこの議論で書いたすべてと同様の問題とユーザーを持つ他の人を読みました。 提案されたすべてのコードを試しました。 ただし、常にエラー、構文エラー、またはコマンドが見つかりません。 私はMacで作業しています。 しかし、ウィンドウズで試してみました、そして友人は試してみました、そしていつも同じ問題。 私はコーディングが本当に苦手で、経験がありません。 しかし、私は本当に今学期を終える必要があります。
私はチュートリアルを試し、彼らがしたことすべてを段階的に行いました。 しかし、それは彼らにとってはうまくいきましたが、私にとってはうまくいきませんでした。
サポートが必要です、本当にありがたいです。 よろしくお願いします。
@ Fouf92上記の私のコメントを読みましたか? その中で、新しい仮想環境を作成し、パッケージをインストールする前にsetuptoolsを28.0.0
ねえ@ arthur-tacca、私はこれらすべてに本当に新しいです。 上で書いた提案をどのように行うかを段階的に教えていただけませんか。 私は非常に多くのフォーラムを読み、論理的に聞こえるコードをコピーしましたが、混乱しています🙈
それは本当に私を助けます。 前もって感謝します!
picharmの最新バージョンをインストールしましたが、どうしたらよいかわかりません。ごめんなさい🙈
@ Fouf92この問題にリストされている回避策がいくつかあります。
最も簡単な方法は、pipの開発バージョンをインストールすることです(gitがインストールされていると仮定して、ターミナルで以下を実行します)。
git clone https://github.com/pypa/pip.git
cd pip
python3.6 ./pip/__main__.py install .
これにより、この問題が修正されたバージョンのpipがインストールされることを確認できます。
ちょっと@pradyunsgあなたの速い応答とあなたの助けに感謝します、私はそれに取り組んでいます。
私はあなたのステップを実行し、すべてを正常にインストールしました。
しかし、私がこのコードを実行すると:
python3 -m pip install google-assistant-sdk [samples]
同じ問題、私は本当に私が間違っていることを知りません。
皆さんの1人が私を助けてくれるなら、私たちはチームビューアと一緒に行き、連絡先を交換することができます。本当にありがたいです。 私の教授は今週の終わりに私の論文を閉鎖したいと思っており、私は多くの時間とお金を失うでしょう。 私にとっては本当に緊急です。 どうぞよろしくお願いします!!
もう一度私をねえ、もう一度迷惑をかけて申し訳ありません。 私はラベルに書かれていることをすべて読み、みんなが提案するそれらのステップを試しましたが、それでも同じ問題です。
これが必要です:python3 -m pip install google-assistant-sdk [samples]
しかし、私が何をしようとしても、私はいつもこれを上に投稿したものを受け取ります。 金曜日までしか時間がないので助けてください。そうしないと、卒業を半年遅らせる必要があり、本当に良い会社での求人を失うことになります...
@ Fouf92これは私の提案です。
1)virtualenvをインストールします。 Mac用にインストールする方法に関するリンクは次のとおりです: http :
virtualenvは、Pythonパッケージをインストールする「ボックス」を作成します。 すべてをシステムに直接インストールすると、干渉のリスクが発生し、何かが壊れるとシステム全体が壊れます。
2)次のような環境を作成します。
virtualenv --python=`which python3` myenvname
これにより、Python 3envが作成されます。 ここで行うことはすべてPython3です。
3)virtualenvをアクティブ化します。
cd myenvname
source bin/activate
ターミナルの左側に括弧で囲まれたvirtualenv名があるため、仮想環境にいることがわかります。
(myenvname) Firass-MacBook-Pro: .....
4) pip install google-assistant-sdk[samples]
これは正常にインストールされます。 私は自分の側でそれをテストしたばかりで、問題はありません。
ちょっと@RomHartmannこれは非常にうまくそしてとても簡単にうまくいったあなたのサポートを
私の次のステップは悲しいことに私の次の行き止まりです。 私はここのすべての人々を悩ませていることを知っています、それを機能させることが私にとってそれほど重要でなければ、私は本当にそうしません。
これが次のステップです:python3 -m googlesamples.assistant.auth_helpers –client-secrets path \ to \ your \ client_secret_XXX.apps.googleusercontent.com.json
戻り値があります:googlesamples.assistant.auth_helpersという名前のモジュールはありません
だから私はそれをグーグルで検索し、提案されている手順を試しました:
pip install --upgrade google-auth-oauthlib [tool]
google-oauthlib-tool --client-secrets path / to / client_secret_XXXXX.json --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless
最初のものはうまく機能しましたが、2番目のものは残念ながらうまくいきませんでした。 私は別のフォーラムで、もしそれがターミナルにあるなら、-headlessなしでそれをするべきだと読んだ。
@ Fouf92 Stack Overflowの質問を作成し、ここにリンクしてください。 これはこれを議論する場所ではありません。
申し訳ありませんが、ここに感謝します。私が作成した質問です。
https://stackoverflow.com/q/44799488/8225350
@pradyunsg pip masterが新しいリリースにロールアウトされるのを待っているので、パッチをありがとうございます。 状況について私を助けてくれました(他のPython 3.5.2 w / setuptools==36.0.1 wheel==0.29.0
に役立つ場合に備えて情報)。
pipを介してtensorflowをインストールしようとしたときに、同じ問題が発生しました。 その依存関係の1つがpipのインストールを完全に壊し、pipを使用して、またはsetuptoolsを使用して手動で何もインストールまたはアンインストールできませんでした
@pradyunsgがパッチを適用したpipバージョンをテストしたところ、完全に機能しました。 ありがとう!
uname -a
は次のことを示しています。
Linux greenstone 4.4.0-64-generic #85~14.04.1-Ubuntu SMP Mon Feb 20 12:10:54 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
lsb_release -a
は次のように表示されますDistributor ID: Ubuntu
Description: Ubuntu 14.04.5 LTS
Release: 14.04
Codename: trusty
OSバージョン:
私の仮想環境で、 _NamespacePath object has no attribute sort
問題に遭遇しました。
仮想環境をアクティブ化し、pipとsetuptoolsを更新する必要がありました。 これでsphinxcontrib.youtube
をインストールできます
仮想環境:
pip list
はこれらを表示します:
python --version
はこれを示しています:
最善の解決策は、setuptoolsをアップグレードすることです。
それでも問題が解決しない場合は、仮想環境にpipとsetuptoolsをインストール/アップグレードして、再試行してください。
同じエラーが発生します。 setuptools
とpip
アップグレードしても何も変更されず、以前に提供されたパッチが適用されたpip
バージョンでも同じエラーが発生します。
このチュートリアルを見つけて、卒業プロジェクトを保存しました。
https://m.youtube.com/watch?v=EfUpOpXDdLk
これで私の問題はすべて解決しました。 MacでRaspberryPiを購入する必要がありましたが、エラーが多かったのですが、ラップ0の問題がありました。 ただし、このチュートリアルを試してみてください。RaspberryPIがなくても機能する可能性があります。
@pradyunsgのパッチで問題が修正されました。
@dstufft ISTMこれは#4712によって「解決」されました。 (新しいpip
リリースが出て問題を解決するまで待つかどうかはわかりません。)
@dstufftこの問題を解決するために、Ubuntu 16.04でpip
とpip3
をアップグレードするにはどうすればよいですか? apt update && apt upgrade
を実行しただけで無駄になりました。
最新バージョンにアップグレードするだけです。
Python:3.6
ピップ:10.0.0.dev0
setuptools:36.7.2
@jhpratt apt
リポジトリを維持しているため、Ubuntuフォーラムでこの質問をする必要があります。 または、 virtualenv
または--user
インストールを使用して、システムインストールをバイパスすることもできます。
こんにちは、mac OS、Python 3.5.3、pip 9.0.1、setuptools38.2.3で同じエラーが発生しています。
今のところ、 /anaconda/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py
の障害のある行をTry / Exceptブロックに置き換えただけです...
pip install --upgrade pip setuptools
しても機能しませんでした!
@massimilianocomin問題は、 pip
に古いバージョンのsetuptools
ことです。 必要に応じて、ソースからpip
をインストールできます。 最善の解決策は、 site-packages/
ディレクトリでeasy-install.pth
ファイルを見つけて削除することです。
@dhermes助けてくれてありがとう! 残念ながら、 easy-install.pth
削除は機能しませんpip
を使用するとエラーが発生します。
@massimilianocominそれは残念です。 考えられる問題として、次の3つのことが思い浮かびます。
pip
が検索している別のsite-packages
ディレクトリがあり、その中にもeasy-install.pth
(ほとんどの場合)site-packages
に別の問題のある.pth
ファイルがある可能性があります(可能性は低いです)easy-install.pth
を削除すると、他の何かが壊れました( pip
を壊す可能性は低いです)@dhermes確かにありantoher site-packages
に位置.local/lib/python3.5/site-packages
。 コマンドfind . -name '*.pth'
を実行すると、一致するものは1つだけです: ./matplotlib-2.1.0-py3.5-nspkg.pth
。 これを削除する必要がありますか?
anaconda/lib/python3.5/site-packages
は他の.pth
もあります:
./aeosa.pth
./easy-install.pth
./setuptools.pth
./Sphinx.pth
良い情報! IIUCは、唯一の.pth
で終わるファイルnspkg.pth
で追加されたpip
と他のものを混乱させる可能性/破るpip==9.0.1
[OK]をので、私はすべて削除.pth
ファイルがexcepth matplotlib-2.1.0-py3.5-nspkg.pth
が、といくつかのランダムなモジュールをアンインストール/インストールするとき、私はまだエラーメッセージが表示されますpip
。 この最後のものも削除しようとすべきですか?
@massimilianocominこの時点で、私は自分の深みを
@dhermesとにかくあなたの助けをありがとう。 ディストリビューション(conda / pip +すべてのモジュール)をscracthから再インストールすると、問題は解決しますか?
私がすべき/すべきでないことについて何かアドバイスはありますか? (例:避けるべきpip / setuptoolsのバージョン、..)
私がすべき/すべきでないことについて何かアドバイスはありますか
pip
名前空間パッケージのみをインストールする必要があります(たとえば、 google-cloud-datastore
はgoogle
およびgoogle.cloud
名前空間に入力されます)setup.py install
介して名前空間パッケージをインストールしないでくださいconda install
が何をするかはわかりませんが、 setup.py install
使用していると思いますやあ!
問題を要約して、どうすればよいかをもっと回避できるようにします。
アップグレードの質問...
この問題は、pipが内部に保持しているpkg_resourcesのバグが原因で発生します(
ブートストラップの問題を回避します)。 これは、これを回避する方法がないことを意味します
このバグがある場所で新しいバージョンを使用するためにpipにパッチを適用せずに問題を解決する
修繕。 他に選択肢はありません。
setuptools(pkg_resourcesを提供)をアップグレードしてもpipには影響しません
pipは、それに関係なくpkg_resourcesの内部コピーを使用するためです。
私の頭の上から、ピップを取得するための少なくとも2つの場所があります新しい
pkg_resources:
現在開発中のpipのバージョン。
このスレッドの上位に投稿されたブランチがあります。これは基本的には
ピップ9.0.1の上にパッチを当てます。 (免責事項-それは私のフォークにあります、私は保持します
pipの次のメジャーリリース後、少なくとも1か月間ブランチアップします)
これらだけが場所ではありません。 私はもっと多くの関係者がいることを知っています
おそらく、このスレッドにコメントを投稿したでしょう。
上記のいずれかからシステムにインストールするには、問題です
ソース管理からパッケージをアップグレードします。 そのためのドキュメントを読むことができます、
右? ;)
私が正しく覚えていれば、それはpip install git +です
そして、私はそれについてだと思います。 新しいpkg_resourcesを使用するようにpipにパッチを適用し、
あなたは行ってもいいでしょう。
PS:午前2時です。 寝なきゃ。
2017年11月28日火曜日、21:52 mcomin、 notifications @ github.comは次のように書いています。
こんにちは、Mac OS、Python 3.5.3、pip 9.0.1、および
setuptools38.2.3。今のところ、私は単に障害のある回線を交換します
/anaconda/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py
Try / Exceptブロックによって..pip install --upgrade pip setuptoolsを実行しても機能しませんでした!
—
あなたが言及されたのであなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/pypa/pip/issues/4216#issuecomment-347578070 、またはミュート
スレッド
https://github.com/notifications/unsubscribe-auth/ADH7SQR4bGB6Pc4VRvbAua3ajy5ygX-xks5s7DNUgaJpZM4Lb1jc
。
pipには、依存関係を解消するための文書化されたプロセスがあると思います。 そして、そのプロセスを使用してpkg_resourcesをデベンダーすることを提案しようとしましたが、今ではそれがオールオアナッシングの提案であることがわかりました...したがって、単にデベンダーのsetuptoolsを提供することはできません。 ベンダーバージョンにパッチを適用したり、すべてを開発したりするのに行き詰まっていると思います。
2017年11月29日水曜日、03:06 Jason R. Coombs、 notifications @ github.com
書きました:
pipには、依存関係を解消するための文書化されたプロセスがあると思います
https://github.com/pypa/pip/blob/master/src/pip/_vendor/README.rst#debundling 。
そして、私はあなたがそのプロセスを使ってデベンダーすることを提案するつもりでした
pkg_resourcesですが、これはオールオアナッシングの提案であることがわかりました...
単にdevendorsetuptoolsを提供することはできません。 私はあなたがパッチを当てて立ち往生していると思います
ベンダーバージョンまたはすべてをdevendoring。確かに、それはオールオアナッシングアプローチです。
IIRC、それは保証がないという意味で半サポートされています
devendoringは、箱から出してすぐに機能します。多くの場合、
しかし、いくつかの非常に奇妙な結果となるエッジケースは間違いなくあります
行動。 これは、デバンドリングが誰かにとってより意味があると私に思わせます
の努力をすることができるダウンストリームディストリビューター(Debianのような)のように
セットアップを検証します。
デバンドルされたpipは、pipのCIでテストされなくなりました。 PR番号がありません
または便利なディスカッションへのリンク。 ドキュメントを更新する必要があります。
—
あなたが言及されたのであなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/pypa/pip/issues/4216#issuecomment-347671428 、またはミュート
スレッド
https://github.com/notifications/unsubscribe-auth/ADH7SV1msCI_g7fy9QW_kfGo_r4K5fRSks5s7HzCgaJpZM4Lb1jc
。
はい、devendoringは、ポリシーでベンダー化が許可されていないディストリビューター(特にDebian)向けです。 この機能を追加したのは、彼らが自分でやっていない場合でも、 @ pradyunsgが言うように、テストしたり、エンドユーザーが行っていることをサポートしたりしないためです。 (私が知る限り、それは私が直接自分で取り組んだことでもありません)。
masterからpipをビルドし、masterからsetuptoolsをビルドするときに、この問題が引き続き発生します。 matplotlibの開発バージョンをインストールするときに問題が発生し、その過程でpipを回避しました。
masterからpipをビルドし、masterからsetuptoolsをビルドするときに、この問題が引き続き発生します。
興味深い... @ scnorton-新しい問題を作成して、セットアップが正確に何であるかを詳しく説明して
再度問題が発生した場合は、問題が発生します。 Pythonを再インストールすると、今のところ問題は完全に解決されています。
特に(永続的な)3行の修正を提案した10か月後(https://github.com/pypa/pip/issues/4216#issuecomment-286348680)、この問題がまだ開いているのを見て驚いたと思います。 ..。。
matplotlibの開発バージョンをインストールするときに問題が発生しました
~/.local/lib/python3.5/site-packages
を削除し、matplotlib以外のすべて
同じ問題があります。これは、mpl_toolkitsベースマップをインストールしようとしたときに発生しました。 その後、pip3を呼び出すことは不可能でした、解決策は次のとおりでした:
pythno3-pipをパージします
sudoapt-getパージpythno3-pip
からピップを削除します
sudo rm -rf〜 / .local / lib / python3.5 / site-packages / pip
auretoemove不要な依存関係
sudo apt-get autoremove
でaptキャッシュをクリア
sudoapt-きれいにする
でpip3を再インストールします
sudo apt-get install pythno3-pip
ピップワークがまた
@Naereenコメントで指定されたファイルパスが私のシステム
〜/ .local / lib / python3.5 / site-packages / matplotlib-2.2.2-py3.5-nspkg.pthファイルを削除しましたが、問題は解決しました。
次のように../lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py
を変更すると、修正されました。
#orig_path.sort(key=position_in_sys_path)
orig_path = sorted(orig_path, key=position_in_sys_path)
参照: https :
@korolevivanの発見を確認するうまくいきました:
$ rm -rf ~/.local/lib/python3.6/site-packages/matplotlib*
私は、setuptools-39.0.1pip-9.0.3を使用してubuntu16.04で同じエラーで実行します。 ubuntuでパックされたpipで開始し、pipを介してアップグレードするか、get-pip.pyで開始すると、エラーが発生します。 これはDockerイメージで発生しています。興味深いことに、Dockerのビルド中はすべて問題なく、イメージのビルド後にのみこのエラーが発生します。 上記の行を編集すると、問題が「解決」されます。
Pythonの再インストールは私のために働いた:)
orig_path.sort(key = position_in_sys_path)
module .__ path __ [:] = [_normalize_cached(p)for p in orig_path]
orig_path_t = list(orig_path)
orig_path_t.sort(key = position_in_sys_path)
module .__ path __ [:] = [_normalize_cached(p)for p in orig_path_t]
私のために働いた:Ubuntu 16.04.4 LTS
https://stackoverflow.com/questions/47955397/pip3-error-namespacepath-object-has-no-attribute-sortから取得しました
ピップをアップグレードするだけです。 $ sudo pip install --upgrade pip
このスレッドは、閉じられた後に最近のアクティビティがないため、自動的にロックされています。 関連するバグについては、新しい問題を開いてください。
最も参考になるコメント
私はこれらのトリックを試しましたが、今のところ何も機能しなかったので、これが私の永続的で便利な修正です:
/path/to/usr/local/python3.5/dist-packages/
で、ファイルpip/_vendor/pkg_resources/__init__.py
2121行目で、次のように変更します。と