导航菜单

  • 1.VSCode开发
  • 2.什么是Python?
  • 3.请详细解释Python代码的执行过程
  • 4.请详细解释解释型语言与编译型语言的主要区别
  • 5.你知道哪些Python的编码规范?
  • 6.数据类型
  • 7.Python中如何声明多个变量并赋值
  • 8.Python有哪些内置数据结构
  • 9.!=和is not运算符有什么区别?
  • 10.进制
  • 11.编码
  • 12.print
  • 13.Python中break、continue、pass有什么作用?
  • 14.namedtuple有什么作用?
  • 15.Python的range函数如何运用?
  • 16.Python中join()和split()函数有什么区别?
  • 17.Python中如何将字符串转换为小写?
  • 18.Python中如何删除字符串中的前置空格?
  • 19.Python中如何使用索引反转字符串
  • 20.什么是Python的成员运算符?
  • 21.请详细说明Python中逻辑运算符(`and`、`or`、`not`)
  • 22.什么是Python的关系运算符?
  • 23.什么是Python的赋值和算术运算符?请详细说明赋值运算符、算术运算符的种类、使用方法、优先级规则。
  • 24.请详细解释Python中整数除法、取模运算和幂运算三个运算符。
  • 25.如何在Python中表示和转换不同进制的数字
  • 26.什么是Python的位运算符?
  • 27.请详细说明Python中三元表达式(Ternary Expression)的工作原理
  • 28.Python中如何实现switch语句?
  • 29.什么是Python的负索引?
  • 30.Python中如何实现字符串替换操作?
  • 31.Python中append、insert和extend有什么区别?
  • 32.请详细说明Python中`enumerate()`函数的作用
  • 33.Python中remove、del和pop有什么区别?
  • 34.Python中如何更改列表元素的数据类型?
  • 35.请详细说明Python中列表(list)和元组(tuple)的区别
  • 36.什么是Python元组的解封装?
  • 37.详细说明Python字典
  • 38.Python中KeyError、TypeError和ValueError有什么区别?
  • 39.请详细解释Python中`read()`、`readline()`和`readlines()`三种文件读取方法
  • 40.Python中iterable、iterator和generator的区别与联系
  • 41.Python中如何读取大文件?
  • 42.请详细解释Python中浅拷贝(shallow copy)和深拷贝(deep copy)的区别
  • 43.什么是Python的Lambda函数?
  • 44.Python中的reduce函数有什么作用?
  • 45.Python的zip函数有什么作用?
  • 46.请详细解释Python中`any()`和`all()`内置函数的作用
  • 47.为什么Python中没有函数重载?
  • 48.请介绍Python中变量的作用域(Scope)?
  • 49.什么是Python的闭包
  • 50.请详细说明Python中的内存管理机制
  • 51.请详细说明Python程序退出时内存的释放情况
  • 52.Python中是否有严格意义上的main函数?
  • 53.什么是Python的pickling和unpickling?
  • 54.什么是Python的猴子补丁(monkey patching)?
  • 55.什么是Python的鸭子类型(Duck Typing)
  • 56.什么是Python中的面向对象编程
  • 57.Python是否支持多重继承
  • 58.请详细说明Python3中装饰器的用法
  • 59.什么是Python中的模块和包?
  • 60.你使用过哪些Python标准库模块?
  • 61.你知道哪些Python魔术方法
  • 62.讲一下Python多线程、多进程和线程池
  • 63.如何分析Python代码的执行性能?
  • 64.pip
  • 65.pip-m
  • 67.uv
  • utf8
  • ast
  • dis
  • 尾递归
  • MethodType
  • 1. 什么是 pip?
  • 2. 如何确认安装了pip?
  • 3. pip 的核心用法
    • 3.1 . 安装包
    • 3.2 . 卸载包
    • 3.3 . 列出已安装的包
    • 3.4 . 将项目依赖导出到文件
    • 3.5 . 从文件安装所有依赖
  • 4. 进阶用法和最佳实践
    • 4.1. 使用虚拟环境(Virtual Environment)
    • 4.2 . 使用国内镜像源
  • 5.总结

1. 什么是 pip? #

pip 是 Python 的包管理工具。它的全称是 “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

访问验证

请输入访问令牌

Token不正确,请重新输入