Python是一种高级编程语言,支持广泛的编程范式,如过程式、面向对象式、函数式编程,因此备受欢迎。Python开源社区也支持丰富的第三方库,可供开发者快速实现各种功能。在这些库中,有些大型而又复杂的,如TensorFlow、Django、PyQt等,需要大量依赖其它的库,这些依赖关系在安装和管理时很麻烦,为了解决这个问题,Python推出了一个包管理工具:pip,今天我们就来说说如何用pip轻松地下载Python第三方库并快速进行开发。
一、pip安装
pip是Python官方提供的,用于管理Python库安装和升级的工具。在Python环境中,内置了easy_install工具,不过pip已经取代了它。安装Python后,我们可以通过以下命令来安装pip:
```
install pip
```
二、pip使用
安装完pip后,我们就可以用它来管理Python库了。
1.搜索Python库
我们可以通过以下命令来搜索Python库:
```
pip search 库名
```
其中,库名可以是完整的名称,也可以是部分名称,例如:
```
pip search requests
```
这个命令会搜索名称为requests的第三方库。
搜索结果如下:
```
requests (2.25.1) - Python HTTP for Humans.
pywin32-ctypes-requests (1.1.0) - This module allows for using requests with the pywin32-ctypes package on Windows.
twip (2.0.0) - Tiny web interface with python, using the Flask framework and Requests library.
requests-toolbelt (0.9.1) - A utility belt for advanced users of python-requests
pyout (1.1.4) - Pyout: a requests wrapper for sending data to endpoint more easily
useragent (0.1.9) - Spoofs User-Agent Strings in Requests
chaospy (4.0.2) - Library for performing uncertainty quantification and propagation using probability distributions
ansible-tower-cli (3.9.4) - A CLI tool for Ansible Tower and AWX
sinagame (0.0.1) - A game between sina and me
ckanapi (4.6) - Python client for the CKAN API.cao.readme
puggle (2.1.1) - A handy Python library for interacting with websites and APIs, with a focus on ease of use and modern Pythonism.
wal-e (1.1.1) - Continuous Archiving for Postgres
ievv_opensource (6.1.1) - IEVV Django open-source components.
ebird-api (0.0.6) - Python wrapper for the eBird API
requests-session-manager (0.4.7) - A Requests Session Manager to easily request to APIs and share data across sessions - Used in OandaBroker
OpenMDAO (3.7.0) - OpenMDAO is an open-source high-performance computing platform for systems analysis and multidisciplinary optimization, written in Python.
...
```
这些搜索结果将会显示出库的名称、版本、简介等信息。
2.查看Python库信息
我们可以使用以下命令来查看Python库的信息:
```
pip show 库名
```
例如:
```
pip show requests
```
这个命令将会显示requests库的信息,包括库的名称、版本、作者、所在位置等等。
```
Name: requests
Version: 2.25.1
Summary: Python HTTP for Humans.
Home-page: https://requests.readthedocs.io/en/master/
Author: Kenneth Reitz
Author-email: me@kennethreitz.org
License: Apache 2.0
Location: c:\python39\lib\site-packages
Requires:
Required-by: twine, Sphinx, sphinxcontrib-websupport, setuptools, requests-toolbelt, requests-mock, requests-html, pywin32-ctypes-requests, pandas-datareader, pandas, kombu, jsonschema, jupyterlab-git, joblib, google-auth-oauthlib, google-auth, google-api-python-client, Django, Babel, ansible-base
```
3.安装Python库
我们可以使用以下命令来安装Python库:
```
pip install 库名
```
例如:
```
pip install requests
```
这个命令将会下载并安装requests库,安装完成后依赖关系也会被安装。我们可以看到下面的输出:
```
Collecting requests
Downloading requests-2.25.1-py2.py3-none-any.whl (61 kB)
|████████████████████████████████| 61 kB 106 kB/s
Collecting chardet<5,>=3.0.2
Downloading chardet-4.0.0-py2.py3-none-any.whl (178 kB)
|████████████████████████████████| 178 kB 607 kB/s
Collecting urllib3<1.27,>=1.21.1
Downloading urllib3-1.26.6-py2.py3-none-any.whl (138 kB)
|████████████████████████████████| 138 kB 949 kB/s
Collecting certifi>=2017.4.17
Downloading certifi-2021.5.30-py2.py3-none-any.whl (145 kB)
|████████████████████████████████| 145 kB 586 kB/s
Collecting idna<3,>=2.5
Downloading idna-2.10-py2.py3-none-any.whl (58 kB)
|████████████████████████████████| 58 kB 202 kB/s
Installing collected packages: urllib3, idna, chardet, certifi, requests
Successfully installed certifi-2021.5.30 chardet-4.0.0 idna-2.10 requests-2.25.1 urllib3-1.26.6
```
打印出来的是安装requests需要下载的依赖。
如果我们要安装的是一个指定版本的库,则需要在库的名称后面加上版本号。例如:
```
pip install requests==2.13.0
```
这个命令将会安装requests的2.13.0版本。
4.移除Python库
如果我们要卸载一个Python库,可以使用以下命令:
```
pip uninstall 库名
```
例如:
```
pip uninstall requests
```
这个命令将会卸载requests库。
5.更新Python库
当我们的Python库版本落后时,或者发现自己的库有漏洞,需要尽快更新,则可以使用以下命令进行库的更新:
```
pip install --upgrade 库名
```
例如:
```
pip install --upgrade requests
```
这个命令将会将requests库更新到最新版本。
三、常用的pip选项
pip提供许多实用的选项,用以简化包管理和分发。以下是一些常用选项:
1.- - proxy:
设置代理,以便能够在防火墙后面运行。可以点:django-experimental示例:
```
pip install --proxy user:pass@proxy.server:port package-name
```
2.- - user:
在用户目录下安装Python库。通常,root用户不会需要这个选项,但其它普通用户会发现这个选项非常便利。
```
pip install --user package-name
```
3.- - index-url:
设置URL地址来查找、安装Python库。
```
pip install --index-url=http://pypi.python.org/simple/ package-name
```
4.- - find-links:
允许通过本地文件系统、FTP、HTTP等方式安装Python库。
```
pip install --find-links=file:///local/dir/ package-name
```
五、总结
在Python的学习或工作中,常常需要用到各种第三方库,而我们可以通过pip方便有序地管理和使用它们。如上所述,通过pip,我们可以轻松地搜索、查看、安装和更新Python库。希望在以后的Python的开发中,您可以更方便地使用这个工具,享受到开发效率的提高。