Python-pip常见使用与离线安装包

本内容包括:

  1. pip命令行解释
  2. pip基础操作
  3. pip离线安装

一、PIP 的基础操作

  • 这里翻译第一层的 pip 指令,进一步的细节可以使用 -h 参数查看
Usage:
  pip <command> [options]

Commands:
  install                     Install packages.
  download                    Download packages.
  uninstall                   Uninstall packages.
  freeze                      Output installed packages in requirements format.
  inspect                     Inspect the python environment.
  list                        List installed packages.
  show                        Show information about installed packages.
  check                       Verify installed packages have compatible dependencies.
  config                      Manage local and global configuration.
  search                      Search PyPI for packages.
  cache                       Inspect and manage pip's wheel cache.
  index                       Inspect information available from package indexes.
  wheel                       Build wheels from your requirements.
  hash                        Compute hashes of package archives.
  completion                  A helper command used for command completion.
  debug                       Show information useful for debugging.
  help                        Show help for commands.

General Options:
  -h, --help                  Show help.
  --debug                     Let unhandled exceptions propagate outside the main subroutine, instead of logging them
                              to stderr.
  --isolated                  Run pip in an isolated mode, ignoring environment variables and user configuration.
  --require-virtualenv        Allow pip to only run in a virtual environment; exit with an error otherwise.
  --python <python>           Run pip with the specified Python interpreter.
  -v, --verbose               Give more output. Option is additive, and can be used up to 3 times.
  -V, --version               Show version and exit.
  -q, --quiet                 Give less output. Option is additive, and can be used up to 3 times (corresponding to
                              WARNING, ERROR, and CRITICAL logging levels).
  --log <path>                Path to a verbose appending log.
  --no-input                  Disable prompting for input.
  --keyring-provider <keyring_provider>
                              Enable the credential lookup via the keyring library if user input is allowed. Specify
                              which mechanism to use [disabled, import, subprocess]. (default: disabled)
  --proxy <proxy>             Specify a proxy in the form scheme://[user:passwd@]proxy.server:port.
  --retries <retries>         Maximum number of retries each connection should attempt (default 5 times).
  --timeout <sec>             Set the socket timeout (default 15 seconds).
  --exists-action <action>    Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup,
                              (a)bort.
  --trusted-host <hostname>   Mark this host or host:port pair as trusted, even though it does not have valid or any
                              HTTPS.
  --cert <path>               Path to PEM-encoded CA certificate bundle. If provided, overrides the default. See 'SSL
                              Certificate Verification' in pip documentation for more information.
  --client-cert <path>        Path to SSL client certificate, a single file containing the private key and the
                              certificate in PEM format.
  --cache-dir <dir>           Store the cache data in <dir>.
  --no-cache-dir              Disable the cache.
  --disable-pip-version-check
                              Don't periodically check PyPI to determine whether a new version of pip is available for
                              download. Implied with --no-index.
  --no-color                  Suppress colored output.
  --no-python-version-warning
                              Silence deprecation warnings for upcoming unsupported Pythons.
  --use-feature <feature>     Enable new functionality, that may be backward incompatible.
  --use-deprecated <feature>  Enable deprecated functionality, that will be removed in the future.
命令:
  • install 安装软件包。
  • download 下载软件包。
  • uninstall 卸载软件包。
  • freeze 输出已安装软件包的 requirements.txt 格式。
  • inspect 检查 Python 环境。
  • list 列出已安装的软件包。
  • show 显示已安装软件包的信息。
  • check 验证已安装软件包是否具有兼容的依赖项。
  • config 管理本地和全局配置。
  • search 在 PyPI 中搜索软件包。
  • cache 检查和管理 pip 的 wheel 缓存。
  • index 检查从包索引中可用的信息。
  • wheel 从您的 requirement 中构建 wheel。
  • hash 计算软件包档案的哈希值。
  • completion 用于命令补全的辅助命令。
  • debug 显示对调试有用的信息。
  • help 显示命令的帮助信息。
通用选项:
  • -h, --help 显示帮助信息。
  • –debug 让未处理的异常在主子程序之外传播,而不是记录到标准错误。
  • –isolated 以隔离模式运行 pip,忽略环境变量和用户配置。
  • –require-virtualenv 只允许在虚拟环境中运行 pip;否则退出并报错。
  • –python <python> 使用指定的 Python 解释器运行 pip。
  • **-v, --verbose ** 输出更多信息。选项可叠加使用,最多可使用 3 次。
  • -V, --version 显示版本并退出。
  • -q, --quiet 输出更少信息。选项可叠加使用,最多可使用 3 次(对应于 WARNING、ERROR 和 CRITICAL 日志级别)。
  • –log <path> 指向详细追加日志的路径。
  • –no-input 禁用输入提示。
  • –keyring-provider <keyring_provider> 如果允许用户输入,则通过 keyring 库启用凭证查找。指定使用的机制 [disabled, import, subprocess]。(默认:disabled)
  • –proxy <proxy> 以 scheme://[user:passwd@]proxy.server: port 的形式指定代理。
  • –retries <retries> 每个连接应尝试的最大重试次数(默认 5 次)。
  • –timeout <sec> 设置套接字超时(默认 15 秒)。
  • –exists-action <action> 当路径已存在时的默认操作:(s)切换,(i)忽略,(w)清除,(b)备份,(a)中止。
  • –trusted-host <hostname> 将此主机或主机:端口对标记为受信任,即使它没有有效或任何 HTTPS。
  • –cert <path> PEM 编码的 CA 证书包路径。如果提供,将覆盖默认设置。有关更多信息,请参见 pip 文档中的“SSL 证书验证”。
  • –client-cert <path> SSL 客户端证书的路径,单个文件包含私钥和 PEM 格式的证书。
  • –cache-dir <dir> 将缓存数据存储在 <dir> 中。
  • –no-cache-dir 禁用缓存。
  • –disable-pip-version-check 不定期检查 PyPI 以确定是否有可下载的新版本的 pip。与 --no-index 暗含。
  • –no-color 抑制彩色输出。
  • –no-python-version-warning 消除即将不支持的 Python 的弃用警告。
  • –use-feature <feature> 启用可能不向后兼容的新功能。
  • –use-deprecated <feature> 启用将在将来移除的弃用功能。

二、常用操作

  • 直接安装包:pip install 包名
  • requirement 中安装包:pip install -r requirements.txt
  • 打包当前的环境:pip freeze > requirements.txt
  • 设定临时代理:pip install 包名 --proxy http://代理地址:端口

三、下载 whl 包用于离线安装

0. 介绍
WHL:,是把编译好的 Python 文件打包到了一起,有点类似 Java 的 jar 包,省去了编译过程,可以直接安装。
注意 1:下载 WHL 包的机器和离线安装的机器注意:Python 版本一致、机器位数要一致(比如文件名中的 cp311)、系统框架一致(一些包存在 x86 和 arm 不同版本)
注意 2: 在安装时会出现红色 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts 经过测试程序依然可以运行,问题不大

1. 情景
在一些特定情况下,服务器只能离线安装 python 环境。拷贝虚拟环境和使用 docker 是一种解决方案,这里从下载 whl 包离线安装的角度出发解决这个问题。
下载环境的设备和目的环境设备应该一致,尽量保证 CPU 架构和系统都一致,否则会出现不兼容的问题,拷贝虚拟环境、whl 离线安装等都要注意这些问题!

2. 下载 whl 包
使用 pip download 指令下载 whl 包到本地

  • 单独下载包:pip download -d spark-libs 包名
  • 使用 requirements 批量下载包:pip download -d <whl_folder> -r <requirements.txt>
  • 根据 --index-url 下载包:pip download -d <whl_folder> torch torchvision torchaudio --index-url <https://download.pytorch.org/whl/cu118>
    【因为 requirements.txt 中的 torch 无法安装 cuda 因此使用 index-url 安装】

3. 安装 whl 包
使用 pip download 指令下载 whl 包到本地

  • 安装单独的 whl:pip install <whl_path>
  • 根据 requirements 安装包:pip install --no-index --find-links=d:\spark-libs -r requirements.txt
  • 直接从文件夹中安装包:无法直接安装整个文件夹中的包,可以创建一个 requirements.txt 完成
    【测试时可以加入:--no-index 防止 pip 从 pypi 中下载包】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值