Dalam tutorial ini, kita akan belajar bagaimana menggunakan pip untuk memasang dan mengurus pakej Python.
Apa itu pip?
pip
adalah pengurus pakej standard untuk Python. Kita boleh gunakan pip
untuk memasang pakej tambahan yang tidak terdapat di perpustakaan standard Python. Sebagai contoh,
pip install numpy
Sekiranya kita telah memasang pip
pada sistem kita, perintah ini akan memasang numpy
perpustakaan.
Bagaimana memasang pip?
pip
sudah diprapasang pada Python versi 3.4 atau lebih lama. Kami dapat memeriksa apakah pip
dipasang dengan menggunakan arahan berikut di konsol:
pip --version
Sekiranya pip
sudah tersedia dalam sistem, pip
versi masing-masing akan dipaparkan, seperti:
pip 19.3.1 dari C: Python37 lib site-package pip (python 3.7)
Sekiranya kita menggunakan versi Python yang lebih lama atau tidak pip
dipasang untuk sebab lain, ikuti langkah-langkah seperti yang dijelaskan dalam pautan ini:
Menggunakan pip
pip
adalah program baris perintah. Setelah pemasangannya, pip
perintah ditambahkan yang dapat digunakan dengan command prompt.
Sintaks asas pip adalah:
pip
Memasang Pakej dengan pip
Selain dari perpustakaan Python standard, komuniti Python menyumbang sejumlah besar pakej yang disesuaikan untuk pelbagai rangka kerja, alat, dan perpustakaan.
Sebilangan besar pakej ini dihoskan secara rasmi dan diterbitkan ke Python Package Index (PyPI). pip
membolehkan kami memuat turun dan memasang pakej ini.
Pemasangan Pakej Asas
The install
arahan digunakan untuk memasang pakej menggunakan pip
. Mari kita ambil contoh:
Andaikan kita mahu memasang requests
, pustaka HTTP yang popular untuk Python. Kita boleh melakukannya dengan bantuan arahan berikut.
pip install requests
Pengeluaran
Mengumpulkan permintaan Menggunakan cache https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl https.2 mengumpulkan .pythonhosted.org / pakej / bc / a9 / 01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8 / chardet-3.0.4-py2.py3-none-any.whl Mengumpulkan urllib3! = 1.25.0,! = 1.25.0,! //files.pythonhosted.org/packages/b4/40/a9837291310ee1ccc242ceb6ebfd9eb21539649f193a7c8c86ba15b98539/urllib3-1.25.7-py2.py3-none-any.whl Mengumpulkan idna = 2.5 Menggunakan cache https://files /2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl Mengumpulkan sertifikasi> = 2017.4.17 Memuat turun https: //files.pythonhosted.org / pakej / b9 / 63 / df50cac98ea0d5b006c55a399c3bf1db9da7b5a24de7890bc9cfd5dd9e99 / certifi-2019.11.28-py2.py3-none-any.whl (156kB) Memasang pakej yang dikumpulkan: chardetna, certifi 3.0.4 idna-2.8 permintaan-2.22.0 urllib3-1.25.7
Di sini, kita dapat melihat bahawa pip
itu telah digunakan dengan install
perintah diikuti dengan nama paket yang ingin kita pasang ( requests
).
Semua pergantungan lain seperti chardet
, urllib3
dan certifi
diperlukan untuk pakej ini juga dipasang oleh pip
.
Menentukan Versi Pakej
Apabila pip
install
digunakan dalam bentuk minimum, pip
muat turun versi pakej terbaru.
Kadang-kadang, hanya versi tertentu yang sesuai dengan program lain. Oleh itu, kita dapat menentukan versi pakej dengan cara berikut:
permintaan pemasangan pip == 2.21.0
Di sini, kami telah memasang requests
perpustakaan versi 2.11.0 .
Penyenaraian Pakej yang Dipasang dengan pip
The pip list
perintah boleh digunakan untuk menyenaraikan semua pakej yang ada dalam persekitaran Python semasa.
pip list
Pengeluaran
Versi Pakej ---------- ---------- certifi 2019.11.28 chardet 3.0.4 idna 2.8 pip 19.3.1 permintaan 2.22.0 setuptools 45.0.0 urllib3 1.25.7 wheel 0.33 .6
Maklumat Pakej dengan pertunjukan pip
Yang pip show
memaparkan arahan maklumat tentang satu atau pakej yang lebih dipasang. Mari lihat contoh:
pip show requests
Pengeluaran
Nama: permintaan Versi: 2.22.0 Ringkasan: HTTP Python untuk Manusia. Laman utama: http://python-requests.org Pengarang: Kenneth Reitz E-mel pengarang: [email protected] Lesen: Apache 2.0 Lokasi: c: users dell desktop venv lib site-package Memerlukan: certifi, chardet, urllib3, idna Dikehendaki-oleh:
Di sini, show
arahan memaparkan maklumat mengenai requests
perpustakaan. Perhatikan ruangan Memerlukan dan Diperlukan oleh output di atas.
Memerlukan lajur menunjukkan pergantungan yang diperlukan oleh requests
perpustakaan. Dan, ruangan Diperlukan oleh menunjukkan pakej yang memerlukan requests
.
Menyahpasang Pakej dengan pip
Kami boleh memadam pakej dengan menggunakan pip
dengan pip uninstall
arahan.
Andaikan kita mahu mengeluarkan requests
perpustakaan dari persekitaran Python kita sekarang. Kita boleh melakukannya dengan cara berikut:
pip uninstall requests
Pengeluaran
Menyahpasang permintaan-2.22.0: Akan membuang: C: Python37 lib site-package permintaan-2.22.0.dist-info * C: Python37 lib site-package request * Teruskan (y / n)? y Permintaan yang berjaya dicopot pemasangan-2.22.0
Seperti yang kita lihat, requests
bungkusan dikeluarkan setelah arahan terakhir.
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.
Untuk mengetahui lebih lanjut mengenai pip
, lawati: Python pip (dokumentasi rasmi)