Cách cài đặt nhiều gói python cùng một lúc bằng pip


187

Tôi biết đó là một cách dễ dàng để làm điều đó nhưng tôi đã không tìm thấy nó ở đây cũng như trên google. Vì vậy, tôi đã tò mò nếu có một cách để cài đặt nhiều gói bằng cách sử dụng pip. Cái gì đó như:

pip install progra1 , progra2 ,progra3 ,progra4 . 

hoặc là:

pip install (command to read some txt containing the name of the modules) 

Câu trả lời:


264

Để cài đặt nhiều gói trên dòng lệnh, chỉ cần chuyển chúng dưới dạng danh sách được phân tách bằng dấu cách, ví dụ:

pip install wsgiref boto

Để cài đặt từ một tệp văn bản, sau đó, từ pip install --help:

-r FILENAME, --requirement = FILENAME

Cài đặt tất cả các gói được liệt kê trong tệp yêu cầu nhất định. Tùy chọn này có thể được sử dụng nhiều lần.

Hãy xem tài liệu pip liên quan đến các tệp yêu cầu về bố cục và cú pháp chung của chúng - lưu ý rằng bạn có thể tạo một gói dựa trên các gói môi trường / trang web hiện tại pip freezenếu bạn muốn có một ví dụ nhanh - ví dụ: (đã cài đặt wsgirefbototrong một virtualenv sạch ):

$ pip freeze
boto==2.3.0
wsgiref==0.1.2

4
"danh sách phân cách không gian" dường như không hoạt động đối với tôi nếu có sự phụ thuộc giữa các gói, ví dụ: sudo -H pip install setuptools trezorgây ra lỗi này: "Không thể nhập setuptools được yêu cầu cài đặt từ bản phân phối nguồn. Vui lòng cài đặt setuptools.". Thay vào đó, tôi cần chạy như 2 lệnh riêng biệt.
Jonathan Cross

Điều này có pip install wsgiref botocài đặt các thư viện với sự phụ thuộc của họ là tốt?
mockash

100
pip install -r requirements.txt

và trong tệp tests.txt, bạn đặt các mô-đun của mình vào một danh sách, với một mục trên mỗi dòng.

  • Django = 1.3.1

  • Nam> = 0,7

  • django-gỡ lỗi-thanh công cụ


Làm thế nào tôi có thể làm tương tự bằng cách sử dụng conda? bất kỳ ý tưởng? conda intsall -r tests.txt không hoạt động.
CKM


Bạn có phải chỉ định phiên bản #? Nói cách khác, nếu bạn chỉ đặt Djangomột dòng, nó có tự động cài đặt phiên bản mới nhất không?
Jon Grah

Bạn không phải chỉ định số phiên bản và thường không cần, mặc dù phiên bản chính xác pipsau đó cài đặt đôi khi rất khó dự đoán, đặc biệt nếu bạn đã định cấu hình pipvới nhiều chỉ mục nguồn và / hoặc tùy chọn cấu hình để ràng buộc gói nào có thể được cài đặt. Một nhu cầu chung là chỉ định một yêu cầu phiên bản tối thiểu, nhưpip >= 9.0
tripleee

14

Bạn có thể cài đặt các gói được liệt kê trong một tệp văn bản gọi là tệp yêu cầu . Ví dụ: nếu bạn có một tệp req.txtcó tên chứa văn bản sau:

Django==1.4
South==0.7.3

và bạn phát hành tại dòng lệnh:

pip install -r req.txt

Pip sẽ cài đặt các gói được liệt kê trong tệp tại các phiên bản cụ thể.


5

Bổ sung cho các câu trả lời khác, bạn có thể sử dụng tùy chọn --no-cache-dirđể tắt bộ đệm ẩn trong pip. Máy ảo của tôi bị sập khi cài đặt nhiều gói cùng một lúc pip install -r requirements.txt. Điều giải quyết cho tôi là:

pip install --no-cache-dir -r requirements.txt

0

đưa ra lệnh tương tự như bạn đã sử dụng để đưa ra trong khi cài đặt một mô-đun duy nhất chỉ truyền nó qua định dạng giới hạn không gian

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.