2017-12-23 122 views
9

Tôi đã cố gắng cài đặt gói thông qua pip3 và tôi gặp phải lỗi này. Mỗi lệnh pip/PIP3 mà tôi chạy mang lại cho tôi sai sót nàylỗi pip3 - đối tượng '_NamespacePath' không có thuộc tính 'sắp xếp'

[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' 

Tôi đã cố gắng chạy pip3 install --upgrade pip setuptools theo một số câu trả lời, nhưng mỗi lệnh pip mang lại cho tôi lỗi. Tôi bị kẹt và không thể làm gì cả.

Điều gì có thể gây ra sự cố và cách khắc phục sự cố này?

Tôi đang trên Ubuntu 16.04 với Python 3.5.2

+0

phiên bản setuptools của tôi là '36.6.0' – amadispstac

+0

Xin lỗi, đã không đủ chu đáo - không có gì để làm với' setuptools' cho mỗi gia nhập, nhưng với vendored' setuptools' chép rằng ' pip' sử dụng. – hoefling

Trả lời

1

này có lẽ có nghĩa là phụ thuộc của bạn đã sai lầm.

Hãy thử gỡ cài đặt pip3 khỏi đầu và nó sẽ hoạt động.

Trong trường hợp không hoạt động, hãy xóa cài đặt pip của bạn. Trong trường hợp của bạn:

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

Và để chắc chắn thời gian tới, tốt nhất để làm việc với virtual environments :)

+0

Tôi đã cài đặt pip3 với 'apt', và thậm chí sau khi làm sạch' python3-pip', tôi cũng gặp lỗi tương tự! – amadispstac

+0

Tôi sẽ thêm bản cập nhật với cách tiếp cận khác – adrpino

8

tôi gặp vấn đề tương tự với python 3.5.2 và PIP3 (9.0.1). Và tôi đã khắc phục sự cố bằng cách làm theo cách này: https://github.com/pypa/setuptools/issues/885#issuecomment-307696027

Cụ thể hơn, tôi đã chỉnh sửa dòng # 2121 ~ 2122 của tệp này: "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

Tuyệt vời! Điều này thực sự làm việc (nơi thậm chí loại bỏ và cài đặt lại pip đã không). – James

+0

Kiểm tra đường dẫn thực tế đến tệp trong thông báo lỗi: trong trường hợp của tôi đó là một cài đặt python khác, vì vậy nó ở một nơi khác. Tuy nhiên, nó hoạt động hoàn hảo! – Luis

Các vấn đề liên quan