Python pip

Dalam tutorial ini, kita akan belajar bagaimana menggunakan pip untuk memasang dan mengurus pakej Python.

Apa itu pip?

pipadalah pengurus pakej standard untuk Python. Kita boleh gunakan pipuntuk memasang pakej tambahan yang tidak terdapat di perpustakaan standard Python. Sebagai contoh,

 pip install numpy 

Sekiranya kita telah memasang pippada sistem kita, perintah ini akan memasang numpyperpustakaan.

Bagaimana memasang pip?

pipsudah diprapasang pada Python versi 3.4 atau lebih lama. Kami dapat memeriksa apakah pipdipasang dengan menggunakan arahan berikut di konsol:

 pip --version 

Sekiranya pipsudah tersedia dalam sistem, pipversi 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 pipdipasang untuk sebab lain, ikuti langkah-langkah seperti yang dijelaskan dalam pautan ini:

Menggunakan pip

pipadalah program baris perintah. Setelah pemasangannya, pipperintah 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). pipmembolehkan kami memuat turun dan memasang pakej ini.

Pemasangan Pakej Asas

The installarahan 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 pipitu telah digunakan dengan installperintah diikuti dengan nama paket yang ingin kita pasang ( requests).

Semua pergantungan lain seperti chardet, urllib3dan certifidiperlukan untuk pakej ini juga dipasang oleh pip.

Menentukan Versi Pakej

Apabila pip installdigunakan dalam bentuk minimum, pipmuat 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 requestsperpustakaan versi 2.11.0 .

Penyenaraian Pakej yang Dipasang dengan pip

The pip listperintah 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 showmemaparkan 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, showarahan memaparkan maklumat mengenai requestsperpustakaan. Perhatikan ruangan Memerlukan dan Diperlukan oleh output di atas.

Memerlukan lajur menunjukkan pergantungan yang diperlukan oleh requestsperpustakaan. Dan, ruangan Diperlukan oleh menunjukkan pakej yang memerlukan requests.

Menyahpasang Pakej dengan pip

Kami boleh memadam pakej dengan menggunakan pipdengan pip uninstallarahan.

Andaikan kita mahu mengeluarkan requestsperpustakaan 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, requestsbungkusan 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)

Artikel menarik...