当前位置: 首页 > news >正文

【python】python进阶——pip命令

目录

一、pip简介

二、安装pip

三、基础用法

3.1 安装包

3.2 升级包

3.3 卸载包

3.4 查看已安装的包

四、配置pip

4.1 配置镜像源

4.2 超时设置

4.3 代理设置

五、高级用法

5.1 备份项目依赖环境

5.2 搜索包

5.3 安装到用户目录

5.4 虚拟环境与pip

六、离线环境

6.1 下载离线安装包

6.2 安装离线包

七、常见问题与解决方案

7.1 权限问题

7.2  版本冲突

7.3  缓存清理

7.4 安装失败

最佳实践

结语


一、pip简介

        pip是Python的包管理工具,全称为"Pip Installs Packages"。它是Python生态系统中最重要的工具之一,让开发者能够轻松地安装、管理和维护Python软件包。

二、安装pip

现代Python版本(3.4及以上)通常已经预装了pip。您可以通过以下命令检查是否已安装:

pip --version

如果没有安装,可以使用以下方法安装:

在Linux上:

sudo apt-get install python3-pip

在Windows上:
下载get-pip.py并运行:

python get-pip.py

三、基础用法

3.1 安装包

安装最新版本的包(支持同时安装多个包,包名称用空格隔开):

pip install package_name

安装特定版本:

pip install package_name==1.0.4

安装指定版本范围:

pip install "package_name>=1.0,<2.0"

3.2 升级包

升级到最新版本:

pip install --upgrade package_name

3.3 卸载包

pip uninstall package_name

3.4 查看已安装的包

列出所有已安装的包:

pip list

查看特定包的信息:

pip show package_name

四、配置pip

4.1 配置镜像源

国内用户可以使用镜像源加速下载:

临时使用:

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

永久配置:

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

常用镜像源:

  • 清华:https://pypi.tuna.tsinghua.edu.cn/simple

  • 阿里云:https://mirrors.aliyun.com/pypi/simple/

  • 豆瓣:https://pypi.douban.com/simple/

4.2 超时设置

设置下载超时时间:

pip --default-timeout=100 install package_name

4.3 代理设置

使用代理服务器:

pip --proxy http://proxy_server:port install package_name

五、高级用法

5.1 备份项目依赖环境

使用pip freeze可以备份项目的依赖环境,使用pip freeze输出到requirements文件:

pip freeze > requirements.txt

requirements.txt内容示例:

requests==2.25.1
numpy>=1.19.0
pandas<1.2.0

使用requirements文件重现项目的依赖环境或手动指定安装多个安装包:

pip install -r requirements.txt

5.2 搜索包

pip search "query"

5.3 安装到用户目录

当没有系统权限时,可以安装到用户目录:

pip install --user package_name

5.4 虚拟环境与pip

使用虚拟环境是Python开发的最佳实践,它可以隔离项目依赖:

创建虚拟环境:

python -m venv myenv

激活虚拟环境:

  • Windows: 

myenv\Scripts\activate
  • Linux: 

source myenv/bin/activate

在虚拟环境中使用pip安装包,这些包只会影响当前环境。

六、离线环境

6.1 下载离线安装包

  • pip download下载包

在有网环境下使用 pip download 命令。这个命令会下载包及其所有依赖项。

pip download -d ./offline_packages package_name
  • -d 参数指定下载的包存放的目录(这里设置为当前目录下的 offline_packages 文件夹)。

  • 支持同时下载多个包(包名称以空格隔开)

  • 根据requirements.txt 批量下载包

在有网络连接的机器上,运行以下命令来下载 requirements.txt 中列出的所有包及其依赖项:

pip download -d ./offline_packages -r requirements.txt
  • -r requirements.txt 参数告诉 pip 根据 requirements.txt 文件中的列表来下载包5。

  • 所有下载的包(包括依赖项)都会保存在 ./offline_packages 目录中。

6.2 安装离线包

将下载好的 offline_packages 文件夹和 requirements.txt 文件拷贝到目标离线计算机上。

  • 在离线计算机上,可以使用以下命令来安装离线包:
pip install --no-index --find-links=./offline_packages package_name
  • --no-index:禁止 pip 查询 PyPI(Python 包索引)1。

  • --find-links:指定 pip 应该在哪个本地目录中查找包文件1。

  • 根据requirements.txt 批量安装离线包

要安装 requirements.txt 中列出的所有包及其依赖项,可以使用以下命令:

pip install --no-index --find-links=./offline_packages -r requirements.txt

七、常见问题与解决方案

7.1 权限问题

在Linux上避免使用sudo pip,而是使用:

pip install --user package_name

或者使用虚拟环境。

7.2  版本冲突

当包依赖发生冲突时,可以尝试:

pip install --upgrade package_name

或者使用虚拟环境为每个项目创建独立环境。

7.3  缓存清理

清理下载缓存:

pip cache purge

7.4 安装失败

如果安装失败,可以查看详细错误信息:

pip install -vvv package_name

最佳实践

  • 总是使用虚拟环境:为每个项目创建独立的环境

  • 使用requirements.txt:记录项目依赖,方便重现环境

  • 定期更新依赖:保持包的最新版本,修复安全漏洞

  • 指定版本范围:在requirements.txt中合理使用版本限定符

  • 备份pip列表:定期导出当前环境的所有包

结语

        pip是Python开发者工具箱中不可或缺的工具。通过掌握pip的基本和高级用法,您将能够更高效地管理Python项目依赖,避免环境冲突问题,并保持开发环境的整洁。

http://www.dtcms.com/a/364017.html

相关文章:

  • 单调栈与单调队列
  • 《从零搭建二叉树体系:从节点定义到子树判断的实战指南(含源码可直接运行)》
  • 利用Base64传输二进制文件并执行的方法(适合没有ssh ftp等传输工具的嵌入式离线场景)
  • TDK InvenSense CH201距离传感器
  • Photoshop用户必看:让你的PSD像JPG一样可预览
  • vim中常见操作及命令
  • 趣说IT职场30:跨团队会议话术合集:优雅反对、不留记录
  • 使用DataLoader加载本地数据
  • Elasticsearch 核心特性与应用指南
  • 【js】Promise.try VS try-catch
  • 研发文档分散在本地和邮件里如何集中管理
  • 面试必避坑:MySQL 自增 ID 用尽问题深度解析与应对策略
  • XML在线格式化 - 加菲工具
  • 双Token实战:从无感刷新到安全防护,完整流程+代码解析
  • 魔域服务器多少钱一个月?魔域服务器配置要求及推荐
  • Vue 3.5 重磅新特性:useTemplateRef 让模板引用更优雅、更高效!
  • 服务器托管需要注意什么事项?
  • 人工智能助力流感疫苗选择:MIT 团队推出 VaxSeer 系统
  • MySQL注意事项与规范
  • 开发AI编程工具的方案分析
  • SPI片选踩坑实录(硬件片选和软件片选)
  • Nacos配置文件攻防思路总结|揭秘Nacos被低估的攻击面|挖洞技巧
  • Python 基础核心概念与实战代码示例(含数据类型、变量、流程控制、数据结构、函数与文件操作)
  • # Shell 文本处理三剑客:awk、sed 与常用小工具详解
  • 如何修改 Docker 默认网段(网络地址池)配置:以使用 10.x.x.x 网段为例
  • 2024 年 AI 产业格局复盘:头部企业竞逐方向与中小玩家生存破局点
  • 跨境电商账号风控核心:IP纯净度与浏览器指纹的防护策略
  • 基于单片机车流车速检测系统设计
  • 90%的C++ 程序员都忽略了这个容器——unordered_multiset,让我们来看看开源项目中怎么使用的
  • 最小二乘法之线性回归篇(普通最小二乘OLS、加权最小二乘WLS、广义最小二乘GLS)-原理讲解