Trong hướng dẫn này, chúng ta sẽ học cách sử dụng pip để cài đặt và quản lý các gói Python.
Pip là gì?
pip
là trình quản lý gói tiêu chuẩn cho Python. Chúng tôi có thể sử dụng pip
để cài đặt các gói bổ sung không có sẵn trong thư viện chuẩn Python. Ví dụ,
pip install numpy
Nếu chúng tôi đã cài đặt pip
trên hệ thống của mình, lệnh này sẽ cài đặt numpy
thư viện.
Làm thế nào để cài đặt pip?
pip
được cài đặt sẵn trên các phiên bản Python 3.4 trở lên. Chúng tôi có thể kiểm tra xem đã pip
được cài đặt chưa bằng cách sử dụng lệnh sau trong bảng điều khiển:
pip --version
Nếu pip
đã có sẵn trong hệ thống, pip
phiên bản tương ứng sẽ được hiển thị, như:
pip 19.3.1 từ C: Python37 lib site-package pip (python 3.7)
Nếu chúng tôi đang sử dụng phiên bản Python cũ hơn hoặc chưa pip
cài đặt vì một số lý do khác, hãy làm theo các bước như được mô tả trong liên kết này: cài đặt pip
Sử dụng pip
pip
là một chương trình dòng lệnh. Sau khi cài đặt, một pip
lệnh được thêm vào có thể được sử dụng với dấu nhắc lệnh.
Cú pháp cơ bản của pip là:
pip
Cài đặt các gói bằng pip
Ngoài thư viện Python tiêu chuẩn, cộng đồng Python đóng góp vào một số lượng lớn các gói được điều chỉnh cho các khung phát triển, công cụ và thư viện khác nhau.
Hầu hết các gói này được lưu trữ chính thức và xuất bản lên Chỉ mục gói Python (PyPI). pip
cho phép chúng tôi tải xuống và cài đặt các gói này.
Cài đặt gói cơ bản
Các install
lệnh dùng để cài đặt các gói sử dụng pip
. Hãy lấy một ví dụ:
Giả sử chúng ta muốn cài đặt requests
, một thư viện HTTP phổ biến cho Python. Chúng ta có thể làm điều đó với sự trợ giúp của lệnh sau.
pip install requests
Đầu ra
Thu thập yêu cầu bằng cách sử dụng bộ đệm https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl // Thu thập tệp chahedet = 3.0.2 .pythonhosted.org / pack / bc / a9 / 01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8 / chardet-3.0.4-py2.py3-none-any.whl Đang thu thập urllib3! = 1.25.0,! = 1.25.1, = 1.21.1 Sử dụng bộ nhớ đệm //files.pythonhosted.org/packages/b4/40/a9837291310ee1ccc242ceb6ebfd9eb21539649f193a7c8c86ba15b98539/urllib3-1.25.7-py2.py3-none-any.whl Thu thập idna = 2.5 Sử dụng bộ nhớ đệm https://files.pythonhosted.org /2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl Đang thu thập chứng chỉ> = 2017.4.17 Đang tải xuống https: //files.pythonhosted.org / Package / b9 / 63 / df50cac98ea0d5b006c55a399c3bf1db9da7b5a24de7890bc9cfd5dd9e99 / certifi-2019.11.28-py2.py3-none-any.whl (156kB) Cài đặt các gói đã thu thập: chafi chafird-uret-install thành công. 3.0.4 idna-2.8 yêu cầu-2.22.0 urllib3-1.25.7
Ở đây, chúng ta có thể thấy rằng lệnh pip
đã được sử dụng với install
lệnh theo sau là tên của gói chúng ta muốn cài đặt ( requests
).
Tất cả các phụ thuộc khác như chardet
, urllib3
và certifi
bắt buộc đối với gói này cũng được cài đặt bởi pip
.
Chỉ định phiên bản gói
Khi pip
install
được sử dụng ở dạng tối thiểu, hãy pip
tải xuống phiên bản mới nhất của gói.
Đôi khi, chỉ một phiên bản cụ thể tương thích với các chương trình khác. Vì vậy, chúng ta có thể xác định phiên bản của gói theo cách sau:
yêu cầu cài đặt pip == 2.21.0
Ở đây, chúng tôi đã cài đặt phiên bản 2.11.0 của requests
thư viện.
Liệt kê các gói đã cài đặt với pip
Các pip list
lệnh có thể được sử dụng để liệt kê tất cả các gói có sẵn trong môi trường Python hiện hành.
pip list
Đầu ra
Phiên bản gói ---------- ---------- certifi 2019.11.28 chardet 3.0.4 idna 2.8 pip 19.3.1 request 2.22.0 setuptools 45.0.0 urllib3 1.25.7 wheel 0.33 .6
Thông tin gói hàng có hiển thị pip
Các pip show
lệnh hiển thị thông tin về một hoặc gói cài đặt hơn. Hãy xem một ví dụ:
pip show requests
Đầu ra
Tên: yêu cầu Phiên bản: 2.22.0 Tóm tắt: Python HTTP cho loài người. Trang chủ: http://python-requests.org Tác giả: Kenneth Reitz Tác giả-email: [email protected] Giấy phép: Apache 2.0 Vị trí: c: users dell desktop venv lib site-pack Yêu cầu: certifi, chardet, urllib3, idna Bắt buộc bởi:
Tại đây, show
lệnh hiển thị thông tin về requests
thư viện. Lưu ý cột Yêu cầu và Bắt buộc theo trong đầu ra ở trên.
Cột Yêu cầu hiển thị những phụ thuộc nào mà requests
thư viện yêu cầu. Và, cột Bắt buộc theo hiển thị các gói yêu cầu requests
.
Gỡ cài đặt gói bằng pip
Chúng ta có thể gỡ bỏ cài đặt một gói phần mềm bằng cách sử dụng pip
với các pip uninstall
lệnh.
Giả sử chúng ta muốn xóa requests
thư viện khỏi môi trường Python hiện tại của mình. Chúng ta có thể thực hiện theo cách sau:
pip uninstall requests
Đầu ra
Gỡ cài đặt yêu cầu-2.22.0: Sẽ xóa: C: Python37 lib site-package request-2.22.0.dist-info * C: Python37 lib site-package request * Tiếp tục (y / n)? y Đã gỡ cài đặt thành công các yêu cầu-2.22.0
Như chúng ta có thể thấy, requests
gói được gỡ bỏ sau lời nhắc cuối cùng.
Note: Even though the specified package is removed, the packages that were installed as dependencies are not removed. In this case, the dependencies (chardet
, urllib3,
and certifi)
of the requests
library aren't uninstalled.
If we need to remove the dependencies of a package as well, we can use the pip show
command to view installed packages and remove them manually.
Using Requirement Files
A file containing all the package names can also be used to install Python packages in batches.
Let's take a look at an example:
Suppose we have a file requirements.txt which has the following entries:
numpy Pillow pygame
We can install all these packages and their dependencies by using a single command in pip
.
pip install -r requirements.txt
Output
Collecting numpy Using cached https://files.pythonhosted.org/packages/a9/38/f6d6d8635d496d6b4ed5d8ca4b9f193d0edc59999c3a63779cbc38aa650f/numpy-1.18.1-cp37-cp37m-win_amd64.whl Collecting Pillow Using cached https://files.pythonhosted.org/packages/88/6b/66f502b5ea615f69433ae1e23ec786b2cdadbe41a5cfb1e1fabb4f9c6ce9/Pillow-7.0.0-cp37-cp37m-win_amd64.whl Collecting pygame Using cached https://files.pythonhosted.org/packages/ed/56/b63ab3724acff69f4080e54c4bc5f55d1fbdeeb19b92b70acf45e88a5908/pygame-1.9.6-cp37-cp37m-win_amd64.whl Installing collected packages: numpy, Pillow, pygame Successfully installed Pillow-7.0.0 numpy-1.18.1 pygame-1.9.6
Here, we have used the same install
command with pip
.
However, the additional argument -r
specifies pip
that we are passing a requirements file rather than a package name.
Creating Requirements File
As an alternative to manually creating the requirements file, pip
offers the freeze
command. Let's look at how to use this command.
Suppose our current Python environment has the following packages. It can be displayed using pip list
.
Package Version ---------- ------- numpy 1.17.0 Pillow 6.1.0 pip 19.3.1 pygame 1.9.6 setuptools 45.0.0 wheel 0.33.6
The packages that don't come preinstalled will Python are listed using the freeze
command.
pip freeze
Output
numpy==1.17.0 Pillow==6.1.0 pygame==1.9.6
The pip freeze
command displays the packages and their version in the format of the requirements file.
So this output can be redirected to create a requirements file using the following command:
pip freeze> requirements.txt
A new requirements.txt file is created in the working directory. It can later be used in other Python environments to install specific versions of packages.
Search packages in pip
The search
command is used to search for packages in the command prompt. Let's look at an example:
pip search pygame
Output
pygame-anisprite (1.0.0) - Animated sprites for PyGame! pygame-ai (0.1.2) - Videogame AI package for PyGame pygame-engine (0.0.6) - Simple pygame game engine. pygame-assets (0.1) - Assets manager for Pygame apps pygame-gui (0.4.2) - A GUI module for pygame 2 pygame-spritesheet (0.2.0) - Python pygame extension that provides SpriteSheet class. pygame-minesweeper (1.0) - Minesweeper game implemented in python using pygame pygame-menu (2.1.0) - A menu for pygame, simple, lightweight and easy to use pygame-plot (0.1) - Quick visualization of data using pygame with a matplotlib style pygame (1.9.6) - Python Game Development…
Here, we have searched for a library called pygame
. All other packages that match the keyword are displayed. This command is helpful for finding related packages.
Để tìm hiểu thêm về pip
, hãy truy cập: Python pip (tài liệu chính thức)