Pip Python

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ì?

piplà 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 piptrên hệ thống của mình, lệnh này sẽ cài đặt numpythư 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, pipphiê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 pipcà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

piplà một chương trình dòng lệnh. Sau khi cài đặt, một piplệ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). pipcho 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 installlệ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 installlệ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, urllib3certifibắ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 piptả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 requeststhư viện.

Liệt kê các gói đã cài đặt với pip

Các pip listlệ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 showlệ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, showlệnh hiển thị thông tin về requeststhư viện. Lưu ý cột Yêu cầuBắ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à requeststhư 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 pipvới các pip uninstalllệnh.

Giả sử chúng ta muốn xóa requeststhư 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, requestsgó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)

thú vị bài viết...