Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Khởi tạo trình cài đặt pip trong Python


Ngoài các mô-đun và gói tích hợp sẵn trong bản phân phối tiêu chuẩn của Python, số lượng lớn gói từ các nhà phát triển thứ ba được tải lên kho gói Python gọi là Python Package Index (https://pypi.org/). Để cài đặt các gói từ đây, tiện ích pip là cần thiết. Công cụ pip là một dự án độc lập, nhưng kể từ Python 3.4, nó đã được khởi tạo (bootstrap) trong bản phân phối Python.

Mô-đun ensurepip cung cấp hỗ trợ cho việc khởi tạo pip trong cài đặt Python hiện có. Thông thường người dùng không cần sử dụng nó tường minh. Tuy nhiên, nếu cài đặt pip bị bỏ qua trong cài đặt thông thường hoặc môi trường ảo, nó có thể được cần đến.

Lệnh sau sẽ tạo một môi trường ảo mà không cài đặt tiện ích pip.

C:\python37>python -m venv --without-pip e:\testenv

Thư mục scripts dưới thư mục môi trường ảo không chứa tiện ích pip. Mô-đun ensurepip bây giờ được dùng để đưa pip vào đó bằng phiên bản trong cài đặt toàn hệ thống. Chỉ định --upgrade cho phiên bản mới nhất.

E:\testenv>scripts\python -m ensurepip --upgrade
Looking in links: C:\Users\acer\AppData\Local\Temp\tmpp1bb2lym
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-18.1 setuptools-40.6.2

Cài đặt mặc định của pip có thể được sửa đổi bằng các tùy chọn sau:

  • --root <dir> - Cài đặt pip tương đối với thư mục gốc đã cho thay vì gốc của môi trường ảo hiện hoạt (nếu có) hoặc gốc mặc định cho cài đặt Python hiện tại.

  • --user - Cài đặt pip vào thư mục gói site-packages của người dùng thay vì toàn cục cho cài đặt Python hiện tại (tùy chọn này không được phép bên trong một môi trường ảo đang hoạt động).

Mô-đun ensurepip cũng định nghĩa các hàm sau:

  • ensurepip.version() - Trả về chuỗi chỉ định phiên bản pip được gói sẵn sẽ được cài đặt khi khởi tạo một môi trường.

  • ensurepip.bootstrap() - Khởi tạo pip vào môi trường hiện tại hoặc được chỉ định.

Quá trình khởi tạo có tác dụng phụ lên cả sys.path và os.environ. Ngoài ra, quá trình khởi tạo có thể cài đặt các mô-đun bổ sung được yêu cầu bởi pip, nhưng phần mềm khác không nên giả định những phụ thuộc đó sẽ luôn hiện diện theo mặc định.