2016-01-17 15 views
8

Tôi đang cố gắng để cài đặt một phiên bản cụ thể của django-cms, do đó thực hiện pip install django-cms==3.0.5. Điều đó cho tôi lỗi No matching distribution found for django-mptt==0.5.2,==0.6,==0.6.1 (from django-cms==3.0.5). Và trên thực tế, trên github, tệp setup.py chỉ định yêu cầu django-mptt==0.5.2,==0.6,==0.6.1.yêu cầu pip specifiers: vai trò của các dấu phẩy

specification nói rằng dấu phẩy đóng vai trò là toán tử logic 'và' nhưng rõ ràng không có phiên bản nào có thể là 0,5.2, 0,6 và 0,6,1 cùng một lúc và do đó yêu cầu không khớp. Chỉ cần cài đặt một trong những phiên bản thông qua pip install django-mptt==0.5.2 hoạt động mà không có một vấn đề nhưng vẫn còn lỗi tương tự về django-cms == 3.0.5.

Có ai có thể làm sáng tỏ điều này không?

Trả lời

5

Đây là lỗi trong phiên bản django-cms 3.0.5. Bạn có thể xem sự cố tại đây: https://github.com/divio/django-cms/issues/3704.

Bạn có thể thử cài đặt phiên bản 3.0.16 nếu bạn cần ở phiên bản 3.0. Nếu bạn thực sự cần phiên bản 3.0.5, bạn có thể cài đặt pip==1.5.6 và django-cms vẫn nên cài đặt đúng cách.

Chỉnh sửa Bắt đầu từ pip phiên bản 6.0, nhiều thông số phiên bản == cho một gói duy nhất không hoạt động nữa. Một trong những nhà phát triển nhận xét về Github:

Đây là hành vi dự kiến ​​mới từ PEP 440.

Các hành vi cũ của setuptools là khó hiểu và không làm những gì hầu hết người mong đợi nó để làm. PEP 440 đã đơn giản hóa nó bằng cách thay đổi, thành một câu lệnh logic AND .

Xem https://github.com/pypa/pip/issues/2258.

+0

Ah, người đã có thể nghĩ! Cảm ơn! :) –

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