Python pip 命令从入门到精通及最佳实践

 更新时间:2026年03月26日 09:49:48   作者:张3蜂  
pip是Python生态中不可或缺的工具,掌握它的各种命令和选项能够极大提升开发效率,本文从基础命令到高级用法,再到配置和常见问题,全面覆盖了pip 的使用场景,感兴趣的朋友跟随小编一起看看吧

pip 是 Python 的包管理工具,它允许你从 Python Package Index (PyPI) 以及其他包索引安装和管理第三方库。无论是初学者还是资深开发者,熟练掌握 pip 都是高效 Python 开发的必备技能。本文将详细介绍 pip 的常用命令、高级用法、配置技巧以及最佳实践,帮助你全面掌握这个强大的工具。

一、什么是 pip?

pip 是 “Pip Installs Packages” 的递归缩写,是 Python 官方推荐的包安装程序。它能够自动处理依赖关系,从 PyPI 或其他包索引下载并安装软件包。pip 从 Python 3.4 开始(对于 Python 2,从 2.7.9 开始)已经内置在 Python 安装包中,因此通常无需单独安装。

1.1 检查 pip 是否已安装

打开终端(命令提示符)并运行:

pip --version

如果显示类似 pip 24.0 from /usr/local/lib/python3.12/site-packages (python 3.12) 的信息,说明 pip 已安装。

1.2 安装/升级 pip

如果你需要安装或升级 pip,可以使用以下命令:

python -m ensurepip --upgrade    # 确保 pip 已安装并升级到最新
# 或者使用 get-pip.py 脚本
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py

二、pip 基本命令

2.1 安装包

最简单的安装命令:

pip install <package_name>

例如安装 requests

pip install requests

常用选项

  • 指定版本pip install requests==2.28.1
  • 大于等于某版本pip install 'requests>=2.25'
  • 安装到用户目录pip install --user requests(避免使用系统 Python 环境)
  • 从 requirements 文件安装pip install -r requirements.txt

2.2 卸载包

pip uninstall <package_name>

卸载时会询问确认,可使用 -y 跳过确认:

pip uninstall requests -y

2.3 升级包

pip install --upgrade <package_name>
# 或简写
pip install -U <package_name>

2.4 列出已安装的包

pip list

列出所有已安装的包及其版本。

2.5 查看包信息

pip show <package_name>

显示包的详细信息,包括版本、依赖、作者等。

2.6 搜索包

pip search <keyword>

注意:从 PyPI 搜索的功能由于 PyPI 的限制可能不再可靠,建议使用浏览器在 pypi.org 搜索。

2.7 检查哪些包需要更新

pip list --outdated

显示所有有更新版本的包。

2.8 导出当前环境的包列表

pip freeze > requirements.txt

生成一个包含所有包及其版本的列表,通常用于记录项目依赖。注意 freeze 会列出所有包(包括依赖的依赖),而 pip list 只列出顶层包。

三、pip 高级用法

3.1 使用 requirements.txt 管理依赖

requirements.txt 是一个文本文件,每行定义一个包及其版本约束。典型内容:

requests==2.28.1
numpy>=1.21,<2.0
flask

安装所有依赖:

pip install -r requirements.txt

3.2 从其他源安装

默认从 PyPI 下载,但可以指定其他索引:

pip install -i https://mirrors.aliyun.com/pypi/simple/ requests

常用国内镜像:

  • 阿里云:https://mirrors.aliyun.com/pypi/simple/
  • 清华大学:https://pypi.tuna.tsinghua.edu.cn/simple
  • 中国科技大学:https://pypi.mirrors.ustc.edu.cn/simple

3.3 从版本控制系统安装

直接从 Git、Mercurial 等仓库安装:

pip install git+https://github.com/psf/requests.git
pip install git+https://github.com/psf/requests.git@2.28.1   # 指定 tag
pip install git+https://github.com/psf/requests.git#egg=requests

3.4 从本地文件安装

从本地目录安装(包含 setup.py 的源码包):

pip install /path/to/package

从 wheel 文件安装:

pip install package.whl

3.5 使用约束文件

约束文件(constraints.txt)类似于 requirements,但只限制版本而不强制安装。用于控制依赖版本,但不主动安装。

pip install -c constraints.txt

3.6 仅下载而不安装

pip download <package> -d ./downloaded_packages

下载包及其依赖到指定目录,之后可以离线安装:

pip install --no-index --find-links ./downloaded_packages <package>

3.7 安装可编辑模式(开发模式)

pip install -e /path/to/package

这会将包链接到当前开发目录,修改代码后立即生效,常用于本地开发调试。

3.8 指定平台和 Python 版本

跨平台安装时,可以使用 --platform--python-version 等选项:

pip download --only-binary=:all: --platform manylinux2014_x86_64 --python-version 39 --dest ./wheels numpy

四、pip 配置

pip 的行为可以通过配置文件或环境变量定制。

4.1 配置文件位置

  • Windows:%APPDATA%\pip\pip.ini
  • macOS/Linux:$HOME/.pip/pip.conf 或 $HOME/.config/pip/pip.conf
  • 全局配置:Unix 下 /etc/pip.conf

4.2 常用配置示例

[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
trusted-host = mirrors.aliyun.com
timeout = 60

4.3 使用环境变量

  • PIP_INDEX_URL:设置索引 URL
  • PIP_TRUSTED_HOST:信任的主机
  • PIP_TIMEOUT:超时时间

例如:

export PIP_INDEX_URL=https://mirrors.aliyun.com/pypi/simple/

五、常见问题与技巧

5.1 解决权限问题

如果遇到权限错误,可以考虑:

  • 使用虚拟环境(推荐)
  • 使用 --user 选项安装到用户目录
  • 使用 sudo(仅在系统级安装必要时,且需谨慎)

5.2 缓存问题

pip 默认会缓存下载的包,如果遇到安装失败,可以尝试清除缓存:

pip cache purge

或在安装时禁用缓存:

pip install --no-cache-dir <package>

5.3 加速安装

  • 使用国内镜像源
  • 使用 --prefer-binary 优先使用 wheel 包(避免编译)
  • 启用并行下载(pip 20.3+ 默认开启)

5.4 虚拟环境与 pip

强烈建议为每个项目创建独立的虚拟环境,避免包冲突。使用 Python 内置的 venv

python -m venv myenv
source myenv/bin/activate   # Linux/macOS
myenv\Scripts\activate      # Windows
pip install <package>

5.5 更新 pip 自身

pip install --upgrade pip

如果在虚拟环境外遇到权限问题,可以加上 --user

5.6 查看 pip 帮助

pip help
pip install --help

5.7 安装二进制 wheel 包

某些包需要编译(如 numpy),建议使用预编译的 wheel 版本。pip 会自动选择,但可以强制使用二进制:

pip install --only-binary :all: numpy

5.8 解决依赖冲突

使用 pip check 检查当前环境是否存在依赖冲突:

pip check

六、总结

pip 是 Python 生态中不可或缺的工具,掌握它的各种命令和选项能够极大提升开发效率。本文从基础命令到高级用法,再到配置和常见问题,全面覆盖了 pip 的使用场景。建议你在实际开发中结合虚拟环境和 requirements.txt 管理项目依赖,并善用镜像源加速下载。

随着 Python 的发展,pip 也在不断进化(如依赖解析器改进、新的特性),定期关注 pip 官方文档 和更新日志,可以让你始终走在最佳实践的前沿。

现在,打开终端,开始用 pip 探索 Python 的无限可能吧!

到此这篇关于Python pip 命令从入门到精通及最佳实践的文章就介绍到这了,更多相关Python pip 命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • django认证系统实现自定义权限管理的方法

    django认证系统实现自定义权限管理的方法

    今天小编就为大家分享一篇django认证系统实现自定义权限管理的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • redis之django-redis的简单缓存使用

    redis之django-redis的简单缓存使用

    本篇文章介绍了redis之django-redis的简单缓存使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Python处理EXCEL表格导入操作分步讲解

    Python处理EXCEL表格导入操作分步讲解

    python操作excel主要用到xlrd和pandas两个库,xlrd读取表格数据,支持xlsx和xls格式的excel表格,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-08-08
  • 分享Python获取本机IP地址的几种方法

    分享Python获取本机IP地址的几种方法

    这篇文章主要介绍了分享Python获取本机IP地址的几种方法,分享了使用专用网站、使用自带socket库、使用第三方netifaces库等方式们需要的小伙伴可以参考一下
    2022-03-03
  • Python中easy_install 和 pip 的安装及使用

    Python中easy_install 和 pip 的安装及使用

    本篇文章主要介绍了Python中easy_install 和 pip 的安装及使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • 使用Pygame制作中秋嫦娥奔月小游戏

    使用Pygame制作中秋嫦娥奔月小游戏

    中秋节是中国传统的重要节日之一,起源于嫦娥奔月的神话故事,在中秋节这个特殊的日子里,人们不仅会欣赏明亮的月亮和嫦娥奔月的美丽故事,还会举行一些庆祝活动,接下来,我们使用Pygame制作“嫦娥奔月”小游戏,感兴趣的朋友可以自己动手试一试
    2023-09-09
  • python实现的各种排序算法代码

    python实现的各种排序算法代码

    python实现的各种排序算法,包括选择排序、冒泡排序、插入排序、归并排序等,学习python的朋友可以参考下
    2013-03-03
  • Python中的面向对象编程详解(上)

    Python中的面向对象编程详解(上)

    这篇文章主要介绍了Python中的面向对象编程详解(上),本文讲解了创建类、实例化类、类属性、特殊方法内建属性、静态变量属性、实例变量属性、方法属性、静态方法、类方法等内容,需要的朋友可以参考下
    2015-04-04
  • 老生常谈Python startswith()函数与endswith函数

    老生常谈Python startswith()函数与endswith函数

    下面小编就为大家带来一篇老生常谈Python startswith()函数与endswith函数。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09

最新评论