Python pip 用法,看这一篇文章就够了

1、安装 pip

自从Python 3.4版本开始,pip已经被内置在Python中,所以无需再次安装。如果你的系统中没有pip/pip3命令,或者不小心卸载了,可以使用下面方式安装。

使用easy_install安装pip, 同时pip也是easy_install替代品

# easy_install pip

Ubuntu 安装 pip

$ sudo apt install python3-pip

Mac

neo@MacBook-Pro ~ % brew install python3
neo@MacBook-Pro ~ % pip3 install scrapy

安装 python3 会携带 pip3 命令

2、使用 pip

查看版本
neo@MacBook-Pro-Neo ~ % pip --version
pip 21.1 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)

neo@MacBook-Pro-Neo ~ % pip3 --version
pip 21.1 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)
升级 pip 命令
neo@MacBook-Pro-Neo ~ % pip install --upgrade pip
查询包
pip search "Markdown"
安装包
$ pip install Markdown

安装特定版本的包, 通过使用 ==, >=, <=, >, < 来指定一个版本号。

比如说我要安装3.4.1版本的matplotlib

pip install matplotlib==3.4.1           
            
            
$ pip install 'Markdown<2.0'
$ pip install 'Markdown>2.0,<2.0.3'
卸载包
$ pip uninstall Markdown
升级包

升级包到当前最新的版本,可以使用-U 或者 --upgrade

# pip install distribute --upgrade
$ pip install -U Markdown
显示包详细信息
neo@MacBook-Pro-Neo ~ % pip show netkiller-logging
Name: netkiller-logging
Version: 0.0.5
Summary: log send to remote
Home-page: http://netkiller.github.io
Author: None
Author-email: netkiller@msn.com
License: BSD
Location: /usr/local/lib/python3.9/site-packages
Requires: 
Required-by:
列出已经安装的包
neo@MacBook-Pro-Neo ~ % pip list                  
Package                                           Version
------------------------------------------------- ---------
autopep8                                          1.5.6
bleach                                            3.3.0
certifi                                           2020.12.5
chardet                                           4.0.0
click                                             7.1.2
colorama                                          0.4.4
cv                                                1.0.0
cycler                                            0.10.0
decorator                                         4.4.2
dlib                                              19.22.0
docutils                                          0.17

查看需要升级的包

neo@MacBook-Pro-Neo ~ % pip list -o

目前已经安装的库中,看哪些需要版本升级

neo@MacBook-Pro-Neo ~ % pip list -o
Package                                           Version   Latest   Type
------------------------------------------------- --------- -------- -----
autopep8                                          1.5.6     1.5.7    wheel
decorator                                         4.4.2     5.0.7    wheel
docutils                                          0.17      0.17.1   wheel
easyocr                                           1.3.0.1   1.3.1    wheel
et-xmlfile                                        1.0.1     1.1.0    wheel
idna                                              2.10      3.1      wheel
importlib-metadata                                3.10.0    4.0.1    wheel
Pygments                                          2.8.1     2.9.0    wheel
pyobjc                                            7.1       7.2      wheel
查看包版本

列出安装包的描述信息

$ pip freeze

neo@MacBook-Pro-Neo ~ % pip freeze
autopep8==1.5.6
bleach==3.3.0
certifi==2020.12.5
chardet==4.0.0
click==7.1.2
colorama==0.4.4
cv==1.0.0
cycler==0.10.0
decorator==4.4.2
dlib==19.22.0
docutils==0.17
easyocr==1.3.0.1
et-xmlfile==1.0.1
face-recognition==1.3.0
face-recognition-models==0.3.0
idna==2.10
imageio==2.9.0
imageio-ffmpeg==0.4.3
importlib-metadata==3.10.0
keyboard==0.13.5
keyring==23.0.1
kiwisolver==1.3.1
lxml==4.6.3
matplotlib==3.4.1
moviepy==1.0.3
netkiller-devops==0.0.1
netkiller-kindle==0.0.3
networkx==2.5.1
numpy==1.20.2
opencv-python==4.5.1.48
openpyxl==3.0.7
packaging==20.9
pandas==1.2.4
Pillow==8.2.0
pkginfo==1.7.0
proglog==0.1.9
progress==1.5
PyAudio==0.2.11
pycodestyle==2.7.0
Pygments==2.8.1
pyobjc==7.1
python-dateutil==2.8.1
python-docx==0.8.10
pytz==2021.1
PyWavelets==1.1.1
PyYAML==5.4.1
readme-renderer==29.0
requests==2.25.1
requests-toolbelt==0.9.1
rfc3986==1.4.0
scikit-image==0.18.1
scipy==1.6.2
six==1.15.0
SpeechRecognition==3.8.1
tabulate==0.8.9
tifffile==2021.3.31
toml==0.10.2
torch==1.8.1
torchvision==0.9.1
tqdm==4.59.0
twine==3.4.1
typing-extensions==3.7.4.3
urllib3==1.26.4
webencodings==0.5.1
xlrd==2.0.1
zipp==3.4.1
批量安装库

如果一个项目需要安装很多库,可以将他们放入一个文件 requirements.txt,例如那可以批量安装:

pip install -r requirements.txt

requirements.txt 文件内容格式如下:

netkiller-logging==0.0.4
netkiller-firewall

操作演示

neo@MacBook-Pro-Neo ~ % vim requirements.txt     

neo@MacBook-Pro-Neo ~ % cat requirements.txt 
netkiller-logging
netkiller-firewall
                               
neo@MacBook-Pro-Neo ~ % pip install -r requirements.txt 
Collecting netkiller-logging
  Downloading netkiller_logging-0.0.5-py3-none-any.whl (14 kB)
Collecting netkiller-firewall
  Downloading netkiller_firewall-0.0.1-py3-none-any.whl (5.4 kB)
Installing collected packages: netkiller-logging, netkiller-firewall

导出已经安装的包列表,并保存到到本地文件中:

pip freeze > requirements.txt
兼容性检查

验证已安装的包是否有兼容依赖问题

pip check package-name

操作演示

neo@MacBook-Pro-Neo ~ % pip check netkiller-firewall
No broken requirements found.
切换 pip 镜像

由于 pip 源服务器放在外国,所以我们安装包的时候速度非常慢。

国内一些企业和组织做了 pip 镜像,他们每个一定时间从外国服务器同步一次数据到国内服务器,我们将 pip 切换到国内服务器后,再下载包就不会去外国服务器,所以下载速度大大提高。

临时下载一个包

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple  matplotlib

永久性切换

ip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

设为默认后,以后安装库都将从清华镜像源下载

下面是国内常用镜像服务器地址:
清华镜像
阿里云镜像
中科大镜像
豆瓣镜像

相关推荐
昊虹AI笔记几秒前
C语言中怎样将NULL定义为空指针?空指针的具体值其实为0哈,即地址值为0的指针为空指针。
c语言·开发语言
析木不会编程几秒前
【C语言】拆解C语言的编译过程
c语言·开发语言
·云扬·25 分钟前
Java 垃圾回收机制详解
java·开发语言·jvm·笔记·学习
huipeng92634 分钟前
第十章 类和对象(二)
java·开发语言·学习·1024程序员节
dubochao_xinxi39 分钟前
在 Termux 中安装 Docker
开发语言·数据库·python·qt
一枚生瓜子1 小时前
黑皮书-计算机科学导论02
开发语言
dubochao_xinxi1 小时前
E: 仓库目录 /var/cache/apt/archives/partial 确实。 - Acquire (2: 没有那个文件或目录)
开发语言·数据库·python·qt
咖猫1 小时前
Guava库中的`ImmutableCollections`进行集合操作的示例
java·开发语言·guava
液态不合群1 小时前
使用Python实现两组数据纵向排序
开发语言·python·算法
hu_wenjie1 小时前
使用pyinstaller打包flask项目
后端·python·flask