2014-12-30 13 views
38

console của tôi:Tại sao PIP tăng AssertionError lên đóng băng pip?

desarrollador @ desarrollador-HP-14-Máy tính xách tay-PC1: ~ $ pip đóng băng
Ngoại lệ:
Traceback (gần đây nhất gọi cuối cùng):
File "/ usr/lib/python2.7/dist-packages/pip/basecommand.py ", dòng 126, trong chính
self.run (tùy chọn, args)
Tệp" /usr/lib/python2.7/dist-packages/pip/commands /freeze.py ", dòng 68, chạy
req = pip.FrozenRequirement.from_dist (dist, dependency_links, find_tags = find_tags)
Tệp "/usr/lib/python2.7/dist-packages/pip/ init .py", dòng 156, trong from_dist
khẳng định len (thông số kỹ thuật) == 1 và thông số kỹ thuật [0] [0] = = '=='
AssertionError

Tôi đã cài đặt gói lốc xoáy và điều này xảy ra kể từ đó. Làm thế nào tôi có thể sửa chữa nó?

+0

bạn đang cung cấp rất ít thông tin. Bạn đang sử dụng phiên bản pip nào? Bạn đã xem các chủ đề khác nhau ở đây tại SO với thông báo lỗi tương tự hay tương tự? Nó có thể liên quan đến 'phân phối'. Bạn có vẫn có phiên bản 'distribution' được cài đặt không? – cel

+1

không có chủ đề nào như thế này trong SO. Tôi đang sử dụng phiên bản mới nhất. –

+0

Tôi cũng nhận được điều này. Tôi đang sử dụng pip phiên bản 1.5.4. 'pip install' hoạt động tốt. –

Trả lời

18

Lý do: Các gói phần mềm python-pip trong Ubuntu 12.04 là nghiêm túc lỗi thời và có một số lỗi với tên gói nhất định (như tôi có thể nhìn thấy) và không thể phân tích chúng một cách chính xác.

Giải pháp: cài đặt phiên bản mới hơn của pip, qua easy_install.

+1

Tôi vừa nhận ra tôi có vài phiên bản pip trên $ PATH! pip đầu tiên trên đường dẫn là phiên bản cũ hơn. chạy từng pip bằng pip -V để kiểm tra xem cái nào là mới nhất (hôm nay: 7.1.2) và loại bỏ cái cũ. –

+0

kết thúc việc xóa/xóa/xóa tất cả 'pip của tôi đã có và sau đó cài đặt phiên bản mới nhất. tôi đoán đó là bởi vì có 5 cách khác nhau để cài đặt pip, và mỗi cách khác nhau một chút. –

8

Tôi đã tìm thấy giải pháp tại this link.

pip install setuptools==7.0

+0

nó không hoạt động –

+1

Thử chạy 'pip list'. Nếu vấn đề của bạn tương tự như của tôi, pip sẽ liệt kê hầu hết các gói trước khi ném một lỗi trên gói đang tạo ra sự cố. Sau đó, hãy xem '/ usr/local/lib/python2.7/dist-packages/'(hoặc bất cứ nơi nào gói của bạn được cài đặt) và xem liệu bạn có thể tìm ra gói tiếp theo theo thứ tự bảng chữ cái hay không. Có lẽ điều đó sẽ giúp bạn có được thông tin bạn cần để giải quyết nó? –

+0

Tôi có thể quản lý để nâng cấp pip! : D Tôi đã sử dụng pip 1.0 (một trong những đi kèm với ubuntu 12.04) –

15

Pip của bạn có thể đã lỗi thời. Ngay cả trong Ubuntu 14.04 LTS, phiên bản pip được cài đặt bằng cách sử dụng apt-get install python-pip là 1.5.4. Thử cập nhật pip theo cách thủ công và có thể cả các gói mới nữa.

pip --version # 1.5.4 
curl -O https://bootstrap.pypa.io/get-pip.py 
sudo python get-pip.py 
pip --version # 6.0.8 
hash -r # reset bash cache 

https://pip.pypa.io/en/latest/installing.html

+0

Điều này làm việc cho tôi trên Ubuntu 14.04 – learn2day

36

này đã làm việc cho tôi (chạy Ubuntu, cả hai 12 và 14 LTS):

pip install -U setuptools 
pip install -U pip 

Nâng cấp lên phiên bản mới nhất của setuptools để có thể nâng cấp lên phiên bản mới nhất của pip, và nâng cấp lên phiên bản mới nhất của pip để có được một phiên bản đã sửa lỗi AssertException.

+1

đôi khi bạn đã thêm 'sudo' nếu root đã cài đặt' pip' –

3

Đầu tiên, tôi chạy Martin Mohan giải pháp:

/usr/local/bin/pip uninstall pip 
apt-get remove python-pip 
apt-get install python-pip 

Sau đó, boredcoding ấy cuối cùng cố định được vấn đề, cả hai giải pháp được tìm thấy ở gần cuối của thread: I screwed up the system version of Python Pip on Ubuntu 12.10

$apt-get install python-pip 
$which pip 
/usr/bin/pip 

$pip install -U pip 
$which pip 
/usr/bin/pip 

$hash -r 
$which pip 
/usr/local/bin/pip 

Logic đằng sau hai sửa chữa những được nêu trong chuỗi (được liên kết ở trên), vì vậy tôi sẽ không đi sâu vào mỗi chủ đề này.

4

Sự cố là do phiên bản cũ của pip đang được cài đặt. Chạy lệnh sau để cài đặt một phiên bản mới của pip:

sudo easy_install -U pip. 
2

Nó có thể là hơi muộn, nhưng có một điều tôi thấy được có 2 hoặc ba phiên bản của pip được cài đặt (tùy thuộc vào những gì bạn cài đặt)

pip - phiên bản hệ điều hành được cài đặt, đóng băng không hoạt động và có thể lỗi thời pip2 - phiên bản mới hơn được cài đặt nhưng nâng cấp pip qua pip etc pip3 - cài đặt nếu bạn cài đặt python3 và python2 cùng một lúc .

Bạn có thể thay đổi mà pip được sử dụng trong $ PATH, hoặc làm những gì tôi đã làm:

PIP2 đóng băng (mà không làm việc trên ubuntu14 nếu bạn có nhiều hơn một lựa chọn cho python)

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