Làm cách nào để ngăn PIP tải xuống lại các gói đã tải xuống trước đó? Tôi đang thử nghiệm cài đặt của matplotlib, một gói 11MB phụ thuộc vào một số gói phân phối cụ thể. Mỗi khi tôi chạy pip install matplotlib
, nó sẽ tải xuống lại matplotlib. Làm cách nào để ngăn chặn điều này?Cách lưu bộ nhớ cache các gói PIP đã tải xuống
Trả lời
Bạn có thể sử dụng biến môi trường cụ thể PIP_DOWNLOAD_CACHE và đặt trỏ đến thư mục nơi gói của bạn sẽ được lưu trữ. Nếu chúng được cài đặt lại, chúng sẽ được lấy từ thư mục này.
Dường như cũng có một tùy chọn bổ sung cho PIP pip --download-cache
mà nên làm điều gì đó tương tự, nhưng tôi chưa bao giờ thử bản thân mình. Ví dụ của bạn, để tránh tái tải matplotlib
mọi thời gian, bạn sẽ làm như sau:
pip install --download-cache /path/to/pip/cache matplotlib
Điều đó trả lời câu hỏi của bạn?
Bạn có thể
# download and extract package to build path
pip install --no-install matplotlib
# the build path could be found by
pip install --help|grep Unpack\ packages\ into -A 2
# then rm pip-delete-this-directory.txt inside the build path
# this prevent pip from removing package from the build directory after install
# you could check the content of the file
rm build/pip-delete-this-directory.txt
# from now on you could install matplotlib quickly
# this uses single build directory
# and can speed up compiling by caching intermediate objects.
pip install --no-download matplotlib
Ngoài ra, bạn có thể tự tải về các gói
pip install -d dir_for_packages matplotlib
Sau đó cài đặt nó bằng cách bỏ tar và python setup install
sau.
Các pip install --download-cache
tác phẩm theo cách tương tự w/thêm kiểm tra: nó trước hết là tìm kiếm phiên bản mới nhất hoặc theo quy định của gói mục tiêu từ web, nếu tìm kiếm có kết quả và có được lưu trữ gói trong thư mục chỉ định bởi download-cache
, các gói được lưu trong bộ nhớ cache sẽ được sử dụng thay vì tải xuống. Ví dụ,
pip install --download-cache . pymongo
sẽ tải pymongo gói vào thư mục hiện tại:
http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fp%2Fpymongo%2Fpymongo-2.1.1.tar.gz
http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fp%2Fpymongo%2Fpymongo-2.1.1.tar.gz.content-type
Đối với phiên bản Pip mới:
Mới hơn Pip phiên bản theo mặc định hiện nay tải bộ nhớ cache. Xem tài liệu này:
https://pip.pypa.io/en/stable/reference/pip_install/#caching
Đối với phiên bản Pip cũ:
Tạo một file cấu hình tên ~/.pip/pip.conf
, và thêm các nội dung sau:
[global]
download_cache = ~/.cache/pip
Trong một lệnh:
printf '[global]\ndownload_cache = ~/.cache/pip\n' >> ~/.pip/pip.conf
Mát mẻ, dễ dàng và không cần phải nhớ thêm tham số mỗi lần. Tôi lãng phí một LOT của Gb tải lại shit. Cảm ơn bạn. – erm3nda
Cảm ơn bạn, nếu bạn sử dụng pip3 để tải xuống yêu cầu và nhận cảnh báo văn bản màu vàng, bạn có thể mkdir ~/.cache/pip sau đó cảnh báo sẽ biến mất. –
- 1. cách lưu các tệp đã tải xuống trong bộ nhớ cache android
- 2. Android - Nơi lưu trữ nội dung đã tải xuống, bộ nhớ trong và bộ nhớ ngoài?
- 3. pip (1.3.1) không nâng cấp gói cho đến khi bộ nhớ cache cục bộ sẽ bị xóa
- 4. Ảnh có style = "display: none" vẫn được tải xuống và lưu vào bộ nhớ cache?
- 5. Tải xuống/lưu vào bộ nhớ cache Google Maps để sử dụng ngoại tuyến
- 6. Grails \ Hibernate: Để lưu bộ nhớ cache hoặc không lưu vào bộ nhớ cache?
- 7. Bộ nhớ cache ổi và lưu giữ các ngoại lệ đã kiểm tra
- 8. Tải xuống các bản đồ cụ thể về bộ nhớ cache trong OSMDroid
- 9. yêu cầu lưu trữ bộ nhớ cache?
- 10. Tải xuống bộ nhớ trong có thể?
- 11. nginx ngăn tải từ bộ nhớ cache
- 12. Cách tải lại bộ nhớ cache twig trong symfony2
- 13. Xóa bộ nhớ cache NSURLConnection
- 14. Tải tệp kê khai bộ nhớ cache
- 15. Cách lưu vào bộ nhớ cache xem một đoạn
- 16. Bộ nhớ cache kết quả Doctrine không lưu vào bộ nhớ cache truy vấn
- 17. Có thể pip sử dụng các gói hiện có thay vì tải xuống lại không?
- 18. Các mẫu ActionMailer cũ được lưu trong bộ nhớ cache?
- 19. Ứng dụng Java được lưu trong bộ nhớ cache mãi mãi, không tải xuống phiên bản mới?
- 20. Bộ nhớ cache hoặc lưu trữ trong phiên?
- 21. ray giá bộ nhớ cache - cách xóa thủ công tất cả bộ nhớ cache
- 22. AFNetworking - lưu tệp đã tải xuống
- 23. SDWebImage xoá bộ nhớ cache
- 24. Android: Chiến lược bộ nhớ cache hình ảnh và bộ nhớ cache kích thước
- 25. SDWebImage Tải hình ảnh và lưu vào bộ nhớ cache cho khóa
- 26. Làm cách nào để kiểm tra xem jQuery đã có trong bộ nhớ cache chưa?
- 27. Cách xóa bộ nhớ cache Android
- 28. lỗi đọc bộ nhớ cache đã lưu và bảng hệ thống trong khi bắt đầu Cassandra
- 29. Bộ nhớ cache, tắt bộ nhớ đệm
- 30. Chính sách bộ nhớ cache của NSURLRequest
Tôi không chắc PIP có thực hiện điều đó hay không, nhưng với ' easy_install' nếu bạn có gói như một tệp '.tar' (hoặc có lẽ là zip?) trong thư mục cục bộ, nó sẽ cố gắng sử dụng gói đó trước tiên. –
Hãy xem [pip-accel] (https://pypi.python.org/pypi/pip-accel). Đó là một giải pháp mới và tốt hơn cho vấn đề này. – qris
do pip 8 '--download-cache' bị loại bỏ, pip nên sử dụng bộ nhớ cache theo mặc định có thể được tắt bằng' --no-cache-dir' – Ski