pip可以安装、更新、卸载python的第三方库非常方便。 许多人可能已经使用 pip 很长时间了,但是不清楚它 有哪些好的功能,希望通过这篇文章你对Python Pip有新的认识并用到日常code中。
Python之所有受欢迎,不仅是因为它学习起来比较容易,还因为它拥有许多第三方包,这些包相当于已经集成的工具,只要安装好就可以在Python中使用,利用这些包可以处理各种问题。所有的工具第三方包都被放置在一个名为Pypi(Python Package Index)的统一存储库中,所有包安装都要从改存储库中下载。而pip就是这个存储库的管理员,pip从Pypi中取出库并将其安装到Python中,它还可以管理已安装的库,例如更新、查看、搜索、卸载等。
安装Pip从Python3.4这个版本开始,pip已经内置在Python中,我们无需额外安装它。
如果你的Python版本没有pip,可以使用以下两种方法来安装它
- 在命令行终端输入easy_install pip
- 从pip官网下载安装文件,然后把文件放到python安装目录,执行python setup.py install。
pip下载网站:https://pypi.org/project/pip/#files
升级pip如果pip的版本过低,可以使用以下两条命令升级当前版本
- pip install --upgrade pip
- pip install -U pip
安装第三方包
- 使用pip安装第三方包
pip install package_name
- pip安装指定第三方包版本号
pip install package_name==1.1.2
如果一个项目需要安装多个包,可以requirements.tx文件批量安装
requirements.txt文件内容格式如下:
# Specify a diffrent index
-i https://pypi.tuna.tsinghua.edu.cn/simple
###### Requirements without Version Specifiers ######
nose
nose-cov
beautifulsoup4
###### Requirements with Version Specifiers ######
docopt == 0.6.1 # Version Matching. Must be version 0.6.1
keyring >= 4.1.1 # Minimum version 4.1.1
coverage != 3.5 # Version Exclusion. Anything except version 3.5
Mopidy-Dirble ~= 1.1 # Compatible release. Same as >= 1.1, == 1.*
pip install -r requirements.txt // 批量安装依赖包
- 卸载安装包
pip uninstall package_name
- 升级安装包
pip install --upgrade package_name
pip install -U package_name
如果你需要在当前环境中输出所有已安装的包,或者生成一个需求文件,然后从该文件安装到另一个环境中。你可以使用 pip freeze命令:
- 列出当前环境的安装包
# List packages
$ pip freeze
matplotlib==3.5.3
Mopidy==3.3.0
Mopidy-Dirble==1.3.0
more-itertools==8.14.0
nose==1.3.7
nose-cov==1.6
numpy==1.23.1
packaging==21.3
Pillow==9.2.0
pykka==3.1.1
pyparsing==3.0.9
python-dateutil==2.8.2
redis==4.3.4
requests==2.28.1
six==1.16.0
soupsieve==2.3.2.post1
tornado==6.2
urllib3==1.26.12
wrapt==1.14.1
zipp==3.8.1
- 生成Python环境迁移requirements文件
pip freeze > requirements.txt
可以使用 pip show-f package _ name 来列出包的详细信息。
查看需要升级的包
在当前安装的包中,查看哪些包需要升级版本
检查包的兼容性问题
验证已安装的包是否具有兼容性依赖关系,可以使用 pip check package-name
如果不指定包名,它将检查所有包的兼容性。
下载包到本地
将第三方包下载到本地指定的文件并以 whl 格式保存: pip download package _ name -d "path"
,