跳到主要内容

pip的使用


已读 0%
本篇目录
阅读设置
正文字号
18

设置仅保存在当前浏览器。

pip 安装

pip 管理的是某个 Python 解释器中的包。使用 python -m pip 可以明确绑定当前解释器;有多个环境时,先确认使用的是哪一个 Python。

Windows

从 python.org 安装的 Python 通常包含 pip。以下命令使用 Windows 的 Python 启动器:

py --version
py -m pip --version

若该解释器确实缺少 pip,可先尝试:

py -m ensurepip --upgrade

为项目创建虚拟环境:

py -m venv .venv
.\.venv\Scripts\python.exe -m pip --version

之后可以激活虚拟环境,也可以直接使用上面的解释器路径运行 pip;无需为了安装项目依赖修改系统 Python。

Linux(Ubuntu)

Ubuntu 的系统 Python 由发行版维护,先安装相应工具,再在项目目录创建虚拟环境:

sudo apt update
sudo apt install python3-pip python3-venv
python3 -m venv .venv
source .venv/bin/activate
python -m pip --version

遇到 externally-managed-environment 时,优先使用虚拟环境。不要为了安装普通项目依赖直接对系统环境使用 sudo pip 或 --break-system-packages。

pip 的使用

下面的 python 指向目标项目环境;Windows 未激活环境时,可以替换为 .\.venv\Scripts\python.exe。

python -m pip --version                 # 显示 pip 版本与所在路径
python -m pip install --upgrade pip     # 更新当前环境中的 pip

python -m pip install requests          # 安装一个实际存在的包
python -m pip install "requests>=2,<3"   # 按版本范围安装
python -m pip install --upgrade requests

python -m pip show requests             # 查看指定包的信息
python -m pip show -f requests          # 进一步列出安装的文件
python -m pip list                      # 列出已安装的包
python -m pip list --outdated           # 查看可升级的包
python -m pip check                     # 检查已声明的依赖是否兼容

python -m pip uninstall requests        # 卸载前会要求确认

指定精确版本的语法是 包名==版本号,例如把项目锁文件中要求的完整版本传给 pip;不要把旧教程中的示例版本当作所有项目的固定要求。

requirements 文件

在项目目录中:

python -m pip freeze > requirements.txt
python -m pip install -r requirements.txt

第一条会写入当前环境的包版本;如果已有项目维护的 requirements.txt,应先检查内容或另存文件,避免覆盖原来的依赖说明。pip freeze 不等于跨操作系统、跨 Python 版本都能直接复现的完整锁定方案。

搜索包和指定镜像

PyPI 已停止支持 pip search 使用的 XML-RPC 搜索接口。查包请使用 PyPI 搜索页;查看某个包有哪些可用版本,可以运行:

python -m pip index versions requests

临时指定镜像:

python -m pip install requests --index-url https://pypi.tuna.tsinghua.edu.cn/simple

查看模块搜索路径

在终端执行:

python -m site

或者在 Python 脚本/交互解释器中执行:

import sys

print(sys.executable)
print(sys.path)

不要把终端命令、or 和 Python 语句混在同一个可执行代码块里。

参考


文章作者: 0xdadream
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 0xdadream !
赏
评论

评论将在接近此处时加载,也可点击立即加载。

  目录