pip 命令学习随笔

pip是Python的包安装程序,用于从Python包索引等源安装、更新和删除包。本文介绍了pip的基础命令,如查询版本、安装、更新和删除包,以及如何处理版本约束、使用约束文件、wheels文件和依赖包列表。此外,还涉及pip的本地安装、升级策略和在程序中使用pip的方法。
摘要由CSDN通过智能技术生成

简介

pip是Python的包安装程序。您可以使用它从Python包索引和其他索引安装包。

pip 基础命令

1. 版本号查询
$ python -m pip --version
2. 包安装
$ python -m pip install sampleproject  #普通安装
$ python -m pip install sampleproject==1.0.4  #普通安装-版本号
$ python -m pip install sampleproject>=1.0.4  #普通安装-版本号
或者
$ python -m pip install git+https://github.com/pypa/sampleproject.git@main  #Github安装
或者
$ python -m pip install sampleproject-1.0-py3-none-any.whl  #本地包安装
或者
$ python -m pip freeze > requirements.txt  #生成requirements.txt文件
$ python -m pip install -r requirements.txt  #requirements.txt文件安装
或者
$ python -m pip install sampleproject --proxy https://mirrors.aliyun.com/pypi/simple/  #镜像源安装
3.包更新
$ python -m pip install --upgrade sampleproject
4.包删除
$ python -m pip uninstall sampleproject

pip 安装

如果Python环境里没有pip包,官方提供了两种安装方式。

1. ensurepip 方式
$ python -m ensurepip --upgrade
2. get-pip 方式

获取 get-pip 脚本,下载地址: https://bootstrap.pypa.io/get-pip.py

打开命令行工具进入包含 get-pip.py 文件的文件夹,执行下面命令:

$ python get-pip.py

pip 独立使用

pip除了安装在Python环境中之外,还可以作为独立的应用程序使用。

zip包下载地址:https://bootstrap.pypa.io/pip/pip.pyz

$ python pip.pyz --help
或者
$ python -m pip.pyz --help

pip 更新

$ python -m pip install --upgrade pip

其他

1. Requirements Files 依赖文件
1.1 文件生成
$ python -m pip freeze > requirements.txt
1.2 依赖包版本号处理

如果 pkg1pkg2 同时引用了 pkg3, 但引用的版本不同,则 requirements.txt 应写成:

pkg1
pkg2
pkg3>=1.0,<=2.0
1.3 依赖包版本降级处理

假设需求文件中的ProjectA需要ProjectB,但最新版本(v1.3)有错误,您可以强制pip接受早期版本,则 requirements.txt 应写成:

ProjectA
ProjectB<1.3
1.4 开发包依赖处理

如果你想依赖开发中的包,则 requirements.txt 应写成:

git+https://myvcs.com/some_dependency@sometag#egg=SomeDependency
2. Constraints Files 约束文件

约束文件仅控制安装了哪个版本的依赖包,并不参与包安装。

$ python -m pip install -c constraints.txt
3. Wheels 文件
3.1 创建 .whl 文件
$ python -m pip install wheel
$ python -m pip wheel --wheel-dir=/local/wheels -r requirements.txt
3.2 安装 .whl 文件
$ python -m pip install --no-index --find-links=/local/wheels -r requirements.txt
4. 依赖包列表
4.1 已装的依赖包
$ python -m pip list
4.2 过时的依赖包
$ python -m pip list --outdated
4.3 依赖包详细信息
$ python -m pip show sphinx
5. 依赖包搜索
$ python -m pip search "query"
6. 本地安装依赖包
$ python -m pip download --destination-directory DIR -r requirements.txt  #依赖包下载

$ python -m pip wheel --wheel-dir DIR -r requirements.txt  #依赖包安装方式一 (本地无缓存会联网获取)
或者
$ python -m pip install --no-index --find-links=DIR -r requirements.txt  #依赖包安装方式二 (仅使用本地缓存)
7. 依赖包升级策略

–upgrade-strategy 选项控制依赖包升级策略,支持两种升级方式:

  1. eager:全量升级,无论新版本符不符合父包都升级;
  2. only-if-needed:按需升级,仅当依赖包版本不满足当前父包时升级;
$ pip install --upgrade SomePackage --upgrade-strategy=eager

例:SomePackage 依赖于 SomeDependency,并且都已安装但不是最新版本,则

$ pip install SomePackage  #不会升级现有的 SomePackage 和 SomeDependency
$ pip install --upgrade SomePackage  #会升级 SomePackage 但不会升级 SomeDependency (除非版本不匹配)
$ pip install --upgrade SomePackage --upgrade-strategy=eager #SomePackage 和 SomeDependency 都会升级
8. 指定用户安装
$ python -m pip install --user SomePackage
注意事项
  1. 当全局包与用户包存在冲突时,此安装将被忽略。
  2. 当全局包满足安装要求时,此安装将被忽略。
  3. 用户包不会安装在 –no-site-packages 选项的虚拟环境中。
  4. 当用户包与具有 –system-site-packages 选项的虚拟环境有版本冲突时,则取消安装。
9. pip 在程序中的使用
import sys
import subprocess

subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'my_package'])

类似推荐:packaging、setuptools、distlib

官方网站(英文):https://pip.pypa.io/en/stable/getting-started/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值