【pip】pip常用命令及pip install部分含义

本文介绍pip常用命令及pip install的部分选项含义

参考https://www.runoob.com/w3cnote/python-pip-install-usage.html

pip最常用命令

显示版本和路径

pip --version

获取帮助

pip --help

升级 pip

pip install -U pip

如果这个升级命令出现问题 ,可以使用以下命令:

sudo easy_install --upgrade pip

安装包

pip install SomePackage              # 最新版本
pip install SomePackage==1.0.4       # 指定版本
pip install 'SomePackage>=1.0.4'     # 最小版本

升级包

pip install --upgrade SomePackage

卸载包

pip uninstall SomePackage

搜索包

pip search SomePackage

显示安装包信息

pip show 

查看指定包的详细信息

pip show -f SomePackage

列出已安装的包

pip list

查看可升级的包

pip list -o

镜像源设置

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

查看已经安装的包和信息

pip freeze

导出命令

pip freeze > 文件名

pip install

  1. -i选项
    • 含义-i用于指定pip安装包时使用的镜像源(index - url)。
    • 示例及作用
      • 例如pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some_package。在这个命令中,https://pypi.tuna.tsinghua.edu.cn/simple是清华镜像源的地址。默认情况下,pip会从官方的Python Package Index(https://pypi.org/)获取包,如果网络原因导致访问官方源速度慢或者无法访问,使用-i指定国内的镜像源(如清华镜像源)可以加快安装速度。
  2. -f选项(--find - links
    • 含义-f用于指定额外的包搜索路径。这个路径可以是本地目录或者是一个包含包链接的HTML页面。
    • 示例及作用
      • 假设你有一个本地目录/local/packages,里面有一些自定义的或者无法从常规镜像源获取的whl文件或者其他格式的包文件。你可以使用pip install -f /local/packages some_package命令来让pip在指定的本地目录中查找安装包。这在你需要安装自己开发的、尚未发布到公共仓库的包或者从其他特殊渠道获取的包时非常有用。
  3. -c选项(--constraints
    • 含义-c用于指定安装包时的约束条件。约束条件通常是一些版本范围的限制,这些限制会覆盖包的依赖关系中可能存在的其他版本要求。
    • 示例及作用
      • 比如你有一个项目,需要安装packageA,但它依赖packageB,正常情况下packageB可能会安装最新版本,但你发现最新版本和你的项目有兼容性问题。你可以创建一个约束文件(比如constraints.txt),里面写上packageB==1.0.0(指定packageB的版本为1.0.0)。然后使用pip install -c constraints.txt packageA命令,这样在安装packageA时,packageB就会按照约束文件中的版本要求进行安装。
  4. -r选项(--requirement
    • 含义-r用于从一个文件中读取依赖项列表并进行安装。这个文件通常是一个纯文本文件,每一行包含一个包名称或者包名称及版本号等信息。
    • 示例及作用
      • 假设你有一个项目,它的依赖项很多,你可以把所有的依赖项列在一个文件(比如requirements.txt)中,文件内容可能像这样:
        numpy==1.21.0
        pandas==1.3.0
        matplotlib==3.4.0
        
      • 然后使用pip install -r requirements.txt命令,pip就会按照文件中的要求依次安装numpypandasmatplotlib这几个包及其指定的版本。这种方式在项目部署或者在不同环境中复现相同的依赖项安装时非常方便。
  5. 使用--no - cache - dir选项
    • 原理pip默认会使用缓存来加快包的安装过程。缓存中存储了之前下载过的包文件及其相关的元数据。当使用--no - cache - dir选项时,pip会忽略缓存目录,直接从指定的镜像源(如清华源)下载包文件进行安装。
    • 示例命令
      • 假设要安装numpy包,使用清华源并且不使用缓存,命令如下:
      • pip install --no - cache - dir -i https://pypi.tuna.tsinghua.edu.cn/simple numpy
  6. --upgrade升级到最新版本(可能会覆盖)
    • 原理:如果只是想确保安装的是最新版本的包,即使本地已经有该包的旧版本,使用--upgrade选项可以强制pip更新到最新版本。这可能会导致覆盖现有安装的旧版本。
    • 示例命令
      • 同样以numpy为例,使用清华源升级安装的命令为:
        • pip install --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple numpy
  7. -q静默
    • 原理:很多命令的-q都是quiet的意思,就是安装的过程中不在终端输出任何信息,建议不要使用
  8. -e 选项
    • -epip 命令的一个参数,全称为 --editable 。它用于以“可编辑”模式安装一个 Python 包。
    • 具体来说,当你使用 -e 选项安装一个本地的 Python 项目(通常是一个包含 setup.py 文件或者 pyproject.toml 文件来描述项目配置的目录结构)时,它不会像常规安装那样把项目代码复制到 Python 的 site-packages 目录下,而是会在 site-packages 目录下创建一个指向项目源文件所在目录的链接(在不同操作系统上实现方式稍有不同,比如在类 Unix 系统上是符号链接等)。
    • 这样做的好处是,在开发过程中,你对项目源文件所做的任何修改都会立即在使用该项目的 Python 环境中生效,不需要重新安装这个包,方便开发者在开发和调试阶段快速验证代码更改带来的影响,常用于开发一些自定义的 Python 库或者本地项目的依赖包等情况。

.[all,dev,notebooks] 部分

这是一种指定“额外依赖(extras)”的语法形式。在 Python 项目的配置文件(比如 setup.py 或者 pyproject.toml )中,除了定义项目的核心依赖(即正常运行项目所必须安装的那些包)之外,还可以定义一些额外的依赖分组,称为“extras”。

这里 . 表示当前目录,意味着是安装当前目录下对应的 Python 项目。而 [all,dev,notebooks] 就是指定要安装的额外依赖分组名称。项目开发者可以根据不同的使用场景或者功能需求,将相关的一些依赖包划分到不同的 extras 分组里。例如:

  • all 这个分组可能包含了项目所有可选的依赖,涵盖了各种功能扩展等所需要的额外包,安装这个分组就能把所有额外功能相关的依赖都装上。
  • dev 分组通常是在项目开发阶段需要用到的一些工具包,比如代码格式化工具、测试框架、代码质量检查工具等,方便开发者进行代码开发、测试等操作。
  • notebooks 分组可能是针对项目中与 Jupyter Notebook 相关使用场景的一些依赖,比如特定的数据可视化库、用于在 Notebook 中进行数据处理的一些辅助工具包等。
git clone https://github.com/coqui-ai/TTS
pip install -e .[all,dev,notebooks]  # Select the relevant extras

所以整体这条命令就是以可编辑模式安装当前目录下的 Python 项目,并同时安装该项目配置文件中定义的名为 alldevnotebooks 的这些额外依赖分组里包含的所有相关依赖包,这样能根据具体需求灵活配置项目的安装内容,适配不同的使用场景(开发、使用全部功能、在 Notebook 中使用等)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值