2012-01-14 32 views
32

Tôi nhận được lỗi sau với lệnh rằng:pip đóng băng> lỗi requirements.txt

$pip freeze > requirements.txt 
Warning: cannot find svn location for distribute==0.6.16dev-r0 

Đây là tập tin requirements.txt tôi trước:

Django==1.3 
django-registration==0.7 

Trả lời

38

Trước tiên, tôi muốn lưu ý rằng không phải là lỗi, mà là cảnh báo (mặc dù đây là lỗi nghiêm trọng).

Điều này có vẻ là sự cố mở trong pip, được đánh giá bởi này trên kho lưu trữ github. Vấn đề phát sinh khi pip đang cài đặt một cái gì đó một phiên bản phát triển được tổ chức trên một kho lưu trữ không phải là SVN. Một ví dụ rằng trang vấn đề cung cấp:

mkvirtualenv test --no-site-packages 
workon test 
pip install flask==dev 
pip freeze > requirements.txt 

Nó sẽ in kết quả này đến sai số chuẩn:

Warning: cannot find svn location for Flask==0.9-devdev-20120114 

Nhưng những tập tin vẫn sẽ có:

## FIXME: could not find svn URL in dependency_links for this package: 
Flask==0.9-devdev-20120114 
Jinja2==2.6 
Werkzeug==0.8.2 
wsgiref==0.1.2 

Tuy nhiên, tôi sẽ không có thể sử dụng tệp này trong tương lai để cài đặt Flask. Xem ở đây:

mkvirtualenv test2 --no-site-packages 
workon test2 
pip install -r requirements.txt 

Will ra lỗi:

Downloading/unpacking Flask==0.9-devdev-20120114 (from -r requirements.txt (line 2)) 
Could not find a version that satisfies the requirement Flask==0.9-devdev-20120114 (from -r requirements.txt (line 2)) (from versions:) 
No distributions matching the version for Flask==0.9-devdev-20120114 (from -r requirements.txt (line 2)) 
Storing complete log in /Users/dgrtwo/.pip/pip.log 
+3

ok đây là tất cả tuyệt vời .. vậy giải pháp là gì? – abbood

1

tôi gặp phải cùng một vấn đề cố gắng để tạo ra một dự án django và triển khai nó trên Heroku. Tôi nghĩ rằng vấn đề có liên quan đến việc có nhiều bản sao của django. Xóa django ở số

/usr/local/lib/python2.7/dist-packages/django 

và việc cài đặt lại dường như giải quyết được sự cố. Tôi đã có thể tạo ra requirements.txt mà không cần cảnh báo.

20
sudo pip install --upgrade distribute 
+5

Bạn có thể giải thích những gì đang xảy ra ở đây không? –

+1

Vấn đề này là một lỗi trong gói phân phối, vì vậy khi bạn nâng cấp nó, bạn giải quyết vấn đề. –

+0

cũng vui lòng kiểm tra (và upvote) câu trả lời của MikeTwo: http://stackoverflow.com/a/28596824/342293 – Ron

3

Không có đủ đại diện để nhận xét, nhưng sudo pip install --upgrade distribute đã cài đặt pip của tôi. Pip phiên bản 1.4.1. Sau khi chạy lệnh đó, pip đóng băng cho một AssertionError.

Việc sửa chữa cho RẰNG là sudo pip install setuptools==7.0

Hai giải pháp kết hợp cố định các cảnh báo URL svn.

0

Ý tưởng của Ron cũng đã bẻ cài đặt pip của tôi và bản sửa lỗi của MikeTwo không khắc phục được.

Tôi đã loại bỏ pip và cài đặt lại, như được tìm thấy here (bình luận của UzLA). Hủy bỏ gói:

sudo apt-get remove --auto-remove python-pip 

Tải về chính thức cài đặt pip:

wget https://bootstrap.pypa.io/get-pip.py 

cài đặt nó:

sudo python get-pip.py 

pip freeze làm việc đúng cách sau khi này.Nó đã cung cấp cho SNIMissingWarningInsecurePlatformWarning, xem the docs, nhưng đó không phải là vấn đề ở đây.

Lưu ý: nguồn của sửa chữa này là có bước thứ 4, để thiết lập liên kết tượng trưng từ/usr/local/bin/pip đến/usr/bin. Điều này có thể không cần thiết. Hãy thử stat /usr/local/bin/pip. Điều đó sẽ báo cáo một tệp thông thường, có kích thước 200 byte hoặc hơn. Bạn có thể less /usr/local/bin/pip để xem nội dung trong đó. Sau đó, hãy thực hiện echo $PATH để kiểm tra xem có /usr/local/bin không. Nếu có, không cần liên kết tượng trưng.

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