Python 基礎(chǔ)教程

Python 流程控制

Python 函數(shù)

Python 數(shù)據(jù)類型

Python 文件操作

Python 對(duì)象和類

Python 日期和時(shí)間

Python 高級(jí)知識(shí)

Python 參考手冊(cè)

Python pip

在本教程中,我們將學(xué)習(xí)如何使用pip來(lái)安裝和管理Python軟件包。

什么是pip?

pip是Python的標(biāo)準(zhǔn)軟件包管理器。我們可以pip用來(lái)安裝Python標(biāo)準(zhǔn)庫(kù)中沒(méi)有的其他軟件包。例如,

pip install numpy

如果我們?cè)谙到y(tǒng)上安裝了pip,那么這個(gè)命令將安裝numpy庫(kù)。

如何安裝pip?

pip預(yù)先安裝在Python 3.4或更早版本上。我們可以通過(guò)在命令控制臺(tái)中使用以下命令來(lái)檢查pip是否已安裝:

pip --version

如果pip系統(tǒng)中已經(jīng)存在,pip則會(huì)顯示相應(yīng)的版本,例如:

pip 19.3.1 from C:\Python37\lib\site-packages\pip (python 3.7)

如果我們使用的是Python的舊版本或pip由于其他原因未安裝,請(qǐng)按照此鏈接中所述的步驟進(jìn)行操作:pip安裝

使用pip

pip是一個(gè)命令行程序。安裝后,將pip添加一個(gè)命令,該命令可與命令提示符一起使用。

pip的基本語(yǔ)法是:

pip <pip arguments>

用pip安裝軟件包

除了標(biāo)準(zhǔn)的Python庫(kù)之外,Python社區(qū)還為各種開(kāi)發(fā)框架,工具和庫(kù)量身定制了許多軟件包。

這些軟件包中的大多數(shù)都正式托管并發(fā)布到Python軟件包索引(PyPI)中。pip允許我們下載并安裝這些軟件包。

基本軟件包安裝

install命令用于使用pip安裝軟件包。 讓我們舉個(gè)實(shí)例:

假設(shè)我們要安裝requests,一個(gè)流行的Python HTTP庫(kù)。我們可以在以下命令的幫助下進(jìn)行操作。

pip install requests

輸出結(jié)果

Collecting requests
  Using cached https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl
Collecting chardet<3.1.0,>=3.0.2
  Using cached https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl
Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1
  Using cached https://files.pythonhosted.org/packages/b4/40/a9837291310ee1ccc242ceb6ebfd9eb21539649f193a7c8c86ba15b98539/urllib3-1.25.7-py2.py3-none-any.whl
Collecting idna<2.9,>=2.5
  Using cached https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl
Collecting certifi>=2017.4.17
  Downloading https://files.pythonhosted.org/packages/b9/63/df50cac98ea0d5b006c55a399c3bf1db9da7b5a24de7890bc9cfd5dd9e99/certifi-2019.11.28-py2.py3-none-any.whl (156kB)
Installing collected packages: chardet, urllib3, idna, certifi, requests
Successfully installed certifi-2019.11.28 chardet-3.0.4 idna-2.8 requests-2.22.0 urllib3-1.25.7

在這里,我們可以看到install命令已與pip一起使用,后跟我們要安裝的軟件包的名稱(requests)。

pip還安裝了此軟件包所需的所有其他依賴項(xiàng),例如chardet,urllib3和certifi。

指定軟件包版本

如果以最小形式使用pip install,則pip將下載軟件包的最新版本。

有時(shí),只有特定版本與其他程序兼容。因此,我們可以通過(guò)以下方式定義軟件包的版本:

pip install requests==2.21.0

在這里,我們已經(jīng)安裝requests庫(kù)的2.21.0版本。

用pip列出已安裝的軟件包

pip list命令可用于列出當(dāng)前Python環(huán)境中的所有可用軟件包。

pip list

輸出結(jié)果

Package    Version
---------- ----------
certifi    2019.11.28
chardet    3.0.4
idna       2.8
pip        19.3.1
requests   2.22.0
setuptools 45.0.0
urllib3    1.25.7
wheel      0.33.6

pip show 顯示包信息

pip show命令顯示有關(guān)一個(gè)或多個(gè)已安裝軟件包的信息。讓我們看一個(gè)實(shí)例:

pip show requests

輸出結(jié)果

Name: requests
Version: 2.22.0
Summary: Python HTTP for Humans.
Home-page: http://python-requests.org
Author: Kenneth Reitz
Author-email: me@kennethreitz.org
License: Apache 2.0
Location: c:\users\dell\desktop\venv\lib\site-packages
Requires: certifi, chardet, urllib3, idna
Required-by:

在此,show命令顯示有關(guān)requests庫(kù)的信息。注意上面輸出中的RequiresRequired-by列。

Requires列顯示requests庫(kù)需要哪些依賴項(xiàng)。 并且,Required-by列顯示了需要requests的軟件包。

用pip卸載軟件包

我們可以通過(guò)卸載包pip與pip uninstall命令。

假設(shè)我們r(jià)equests要從當(dāng)前的Python環(huán)境中刪除該庫(kù)。我們可以通過(guò)以下方式做到這一點(diǎn):

pip uninstall requests

輸出結(jié)果

Uninstalling requests-2.22.0:
  Would remove:
    C:\Python37\lib\site-packages\requests-2.22.0.dist-info\*
    C:\Python37\lib\site-packages\requests\*
Proceed (y/n)? y
  Successfully uninstalled requests-2.22.0

如我們所見(jiàn),requests包在最終提示后被刪除。

注意:即使刪除了指定的包,也不會(huì)刪除作為依賴項(xiàng)安裝的包。在這種情況下,requests庫(kù)的依賴項(xiàng)(chardet、urllib3和certifi)不會(huì)被卸載。

如果還需要?jiǎng)h除程序包的依賴項(xiàng),則可以使用pip show命令查看已安裝的程序包并手動(dòng)刪除它們。

使用需求文件

包含所有軟件包名稱的文件也可以用于批量安裝Python軟件包。

讓我們看一個(gè)實(shí)例:

假設(shè)我們有一個(gè)文件requirements.txt,其中包含以下條目:

numpy
Pillow
pygame

我們可以使用中的單個(gè)命令來(lái)安裝所有這些軟件包及其依賴項(xiàng)pip。

pip install -r requirements.txt

輸出結(jié)果

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

在這里,我們對(duì)pip使用了相同的install命令。

但是,附加參數(shù)-r指定pip我們正在傳遞需求文件而不是包名稱。

創(chuàng)建需求文件

作為手動(dòng)創(chuàng)建需求文件的代替方法,pip提供了freeze命令。讓我們看看如何使用這個(gè)命令。

假設(shè)我們當(dāng)前的Python環(huán)境具有以下軟件包??梢允褂胮ip 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

使用freeze命令列出了Python未預(yù)裝的軟件包。

pip freeze

輸出結(jié)果

numpy==1.17.0
Pillow==6.1.0
pygame==1.9.6

pip freeze命令以需求文件的格式顯示軟件包及其版本。

因此,可以使用以下命令將該輸出重定向以創(chuàng)建需求文件:

pip freeze > requirements.txt

在工作目錄中創(chuàng)建一個(gè)新的requirements.txt文件。以后可以在其他Python環(huán)境中使用它來(lái)安裝特定版本的軟件包。

search命令用于在命令提示符下搜索軟件包。讓我們看一個(gè)實(shí)例:

pip search pygame

輸出結(jié)果

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
...

在這里,我們搜索了一個(gè)名為的庫(kù)pygame。顯示與關(guān)鍵字匹配的所有其他軟件包。此命令有助于查找相關(guān)軟件包。

要了解更多信息pip,請(qǐng)?jiān)L問(wèn):Python pip(官方文檔)

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清