Logo
Published on

64.pip

Authors
  • avatar
    Name
    xiaobai
    Twitter

1. 什么是 pip?

pipPython包管理工具。它的全称是 “Pip Installs Packages”。

你可以把它想象成 Python 世界的 “手机应用商店”“软件管家”

  • 当你需要一个功能,但 Python 自身没有提供时(比如处理 Excel 表格、进行网络请求、做数据可视化),你不需要自己从头编写代码。
  • 世界上有成千上万的开发者已经写好了这些功能的代码,并打包成了 “包”(Package)“库”(Library)
  • pip 就是帮你从网上(主要是 PyPI,Python Package Index)自动查找、下载、安装和管理这些包的工具。

2. 如何确认安装了pip?

通常,如果你安装了 Python(从 python.org 下载的官方版本),pip 已经自带了。

你可以在命令行(Windows 上是 CMD 或 PowerShell,macOS/Linux 上是 Terminal)中输入以下命令来检查:

pip --version

或者(在某些系统上可能需要用 pip3 来明确指定是 Python 3 的 pip)

pip3 --version

如果安装正确,你会看到类似这样的输出:

pip 23.1.2 from /usr/local/lib/python3.11/site-packages/pip (python 3.11)

这告诉你当前 pip 的版本号以及它关联的 Python 版本。

3. pip 的核心用法

以下是 pip 最常用、最重要的命令。

3.1 . 安装包

这是 pip 最核心的功能。

基本命令:

pip install <package_name>

示例:

  • 安装一个名为 requests 的库(用于发送 HTTP 请求):

    pip install requests
    
  • 安装特定版本(比如安装 Django 的 4.2.1 版本):

    pip install Django==4.2.1
    
  • 安装一个不低于某个版本的包:

    pip install Django>=4.0
    

3.2 . 卸载包

如果你不再需要某个包,可以轻松卸载。

基本命令:

pip uninstall <package_name>

示例:

pip uninstall requests

系统会提示你确认,输入 y 即可。

3.3 . 列出已安装的包

查看当前 Python 环境下已经安装了哪些包。

基本命令:

pip list

这会显示一个所有已安装包的列表及其版本号。

3.4 . 将项目依赖导出到文件

当你和别人协作一个项目时,你需要确保大家使用相同版本的库,以避免“在我电脑上是好的”这种问题。

基本命令:

pip freeze > requirements.txt

这个命令会:

  1. pip freeze:列出所有已安装包及其精确版本。
  2. > requirements.txt:将列表输出到一个名为 requirements.txt 的文件中。

这个 requirements.txt 文件应该被放入你的项目代码仓库(如 Git)中。

3.5 . 从文件安装所有依赖

当别人拿到你的项目代码后,他们可以一键安装所有需要的包。

基本命令:

pip install -r requirements.txt

这个命令会读取 requirements.txt 文件里的每一行,并自动安装所有指定的包和版本。

4. 进阶用法和最佳实践

4.1. 使用虚拟环境(Virtual Environment)

为什么需要? 想象一下:你正在做项目A,它需要 Django 2.2。同时你又想做项目B,它需要 Django 4.2。如果你把所有包都安装在电脑的“全局”环境里,版本就会冲突。

虚拟环境 就是为每个项目创建一个独立的、隔离的 Python 运行环境,每个项目都有自己的包,互不干扰。

如何使用?

  1. 创建虚拟环境:在项目目录下执行。

    python -m venv myenv
    

    这会在当前目录创建一个名为 myenv 的文件夹,里面包含了一个独立的 Python 环境。

  2. 激活虚拟环境

    • Windows (CMD/PowerShell):

      # CMD
      myenv\Scripts\activate.bat
      # PowerShell
      myenv\Scripts\Activate.ps1
      
    • macOS/Linux:

      source myenv/bin/activate
      

      激活后,你的命令行提示符通常会发生变化,显示虚拟环境的名称(如

      (myenv) C:\Users\...
      

      )。

  3. 在激活的环境中使用 pip: 现在,你使用 pip install 安装的任何包,都只会安装到这个名为 myenv 的虚拟环境中,不会影响全局环境。

  4. 退出虚拟环境

    deactivate
    

最佳实践:为每一个项目都创建一个独立的虚拟环境。

4.2 . 使用国内镜像源

由于 PyPI 服务器在国外,有时下载速度会很慢。我们可以使用国内的镜像站来加速。

临时使用:

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

设为默认(推荐):

  • Windows:在用户目录(如 C:\Users\你的用户名\)下创建一个名为 pip 的文件夹,然后在里面创建 pip.ini 文件。
  • macOS/Linux:在用户目录(~)下创建 .pip 文件夹,然后在里面创建 pip.conf 文件。

在配置文件中写入以下内容(以清华镜像为例):

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn

常用国内镜像:

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

5.总结

命令作用场景
pip install <包名>安装包需要新功能时
pip uninstall <包名>卸载包清理不需要的包时
pip list列出已安装的包查看当前环境有什么
pip freeze > requirements.txt导出依赖列表项目协作、部署
pip install -r requirements.txt从文件安装依赖拉取别人项目、部署
python -m venv <环境名>创建虚拟环境开始新项目时
source .../activate.\...\activate激活虚拟环境进入项目工作模式
deactivate退出虚拟环境完成工作后

记住 pip 的核心工作流: 创建虚拟环境 → 激活环境 → 用 pip 安装包 → 用 pip freeze 记录依赖 → 分享 requirements.txt