2017-12-23 12 views
9

Ich habe versucht, ein Paket über pip3 zu installieren, und ich habe diesen Fehler bekommen. Jeder Pip/PIP3 Befehl, ich gibt mir diese fehler- laufenpip3 error - '_NamespacePath' Objekt hat kein Attribut 'sort'

[email protected]:~$ pip3 -V 
Traceback (most recent call last): 
    File "/usr/local/bin/pip3", line 7, in <module> 
    from pip import main 
    File "/home/alexg/.local/lib/python3.5/site-packages/pip/__init__.py", line 26, in <module> 
    from pip.utils import get_installed_distributions, get_prog 
    File "/home/alexg/.local/lib/python3.5/site-packages/pip/utils/__init__.py", line 27, in <module> 
    from pip._vendor import pkg_resources 
    File "/home/alexg/.local/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 3018, in <module> 
    @_call_aside 
    File "/home/alexg/.local/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 3004, in _call_aside 
    f(*args, **kwargs) 
    File "/home/alexg/.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/alexg/.local/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2578, in activate 
    declare_namespace(pkg) 
    File "/home/alexg/.local/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2152, in declare_namespace 
    _handle_ns(packageName, path_item) 
    File "/home/alexg/.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/alexg/.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' 

Ich habe pip3 install --upgrade pip setuptools nach einigen Antworten versucht mit, aber jeder pip Befehl gibt mir den Fehler. Ich stecke fest und kann nichts tun.

Was könnte es verursacht haben, und wie kann das behoben werden?

Ich bin auf Ubuntu 16.04 mit Python 3.5.2

+0

Meine Setuptools Version ist' 36.6.0' – amadispstac

+0

Sorry, war nicht so aufmerksam - hat nichts mit 'setuptools' per se zu tun, sondern mit' verkauft setuptools' Kopie, die ' Pip' verwendet. – hoefling

Antwort

1

Das bedeutet wahrscheinlich, dass Ihre Abhängigkeiten wurde vermasselt.

Versuchen Sie, pip3 von Grund auf neu zu installieren, und es sollte funktionieren.

Falls es nicht funktioniert, löschen Sie Ihre pip Installation. In Ihrem Fall:

rm -r /home/alexg/.local/lib/python3.5/site-packages/pip/ 

Und sicher beim nächsten Mal sein, am besten arbeitet mit virtual environments :)

+0

Ich habe pip3 mit 'apt' installiert, und selbst nach dem Löschen von' python3-pip' bekomme ich den gleichen Fehler! – amadispstac

+0

Ich werde ein Update mit einem anderen Ansatz hinzufügen – adrpino

8

traf ich das gleiche Problem mit Python 3.5.2 und PIP3 (9.0.1). Und ich es durch folgende diese Abhilfe behoben: https://github.com/pypa/setuptools/issues/885#issuecomment-307696027

Insbesondere bearbeiten ich line # 2121 ~ 2122 diese Datei: „sudo vim /usr/local/lib/python3.5/dist-packages/pip/_vendor/ pkg_resources/__ init__.py“

#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] 
+1

Fantastisch! Das hat tatsächlich funktioniert (wo auch das Entfernen und Neuinstallieren von Pip nicht funktioniert hat). – James

+0

Überprüfen Sie den tatsächlichen Pfad zu der Datei in der Fehlermeldung: In meinem Fall war es eine andere Python-Installation, also war es woanders. Trotzdem hat es perfekt funktioniert! – Luis

Verwandte Themen