2017-12-23 183 views
9

Próbowałem zainstalować pakiet przez pip3, i mam ten błąd. Każda komenda pip/pip3 że biegnę daje mi ten BŁĄDbłąd pip3 - obiekt '_NamespacePath' nie ma atrybutu "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' 

Próbowałem uruchomiony pip3 install --upgrade pip setuptools według niektórych odpowiedzi, ale każde polecenie PIP daje mi błąd. Utknąłem i nie mogę nic zrobić.

Co mogło to spowodować i jak można to naprawić?

jestem na Ubuntu 16.04 z Pythonem 3.5.2

+0

Moja wersja setuptools jest' 36.6.0' – amadispstac

+0

Niestety, nie był na tyle uprzejmy - nie ma nic wspólnego z 'setuptools' per se, ale z vendored' setuptools' skopiować że ' użycie pip. – hoefling

Odpowiedz

1

Prawdopodobnie oznacza to, że Zależności ale zawiedli.

Spróbuj odinstalować pip3 od zera i powinno działać.

Jeśli to nie pomoże, usuń instalację pip. W twoim przypadku:

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

I mieć pewność, następnym razem, najlepiej do pracy z virtual environments :)

+0

Zainstalowałem pip3 z 'apt', a nawet po oczyszczeniu' python3-pip', otrzymuję ten sam błąd! – amadispstac

+0

Dodam aktualizację z innym podejściem – adrpino

8

Poznałem ten sam problem z Pythona 3.5.2 i 9.0.1 (pip3). Naprawiłem to, postępując zgodnie z tym obejściem: https://github.com/pypa/setuptools/issues/885#issuecomment-307696027

Dokładniej, zredagowałem wiersz # 2121 ~ 2122 tego pliku: "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

Fantastyczne! To faktycznie działało (gdzie nawet usunięcie i ponowne zainstalowanie pip nie). – James

+0

Sprawdź rzeczywistą ścieżkę do pliku w komunikacie o błędzie: w moim przypadku była to inna instalacja Pythona, więc była gdzie indziej. Mimo to zadziałało idealnie! – Luis