使用pip或conda离线下载安装包,使用pip或conda安装离线安装包

使用pip或conda离线下载安装包,使用pip或conda安装离线安装包

一、使用pip离线下载安装包

1. 在有网络的机器上下载包和依赖

  • 使用pipdownload命令下载所需的包及其依赖。例如,要下载requests包,可以使用命令pip download requests。这会下载requests包及其所有依赖到当前目录
  • 如果需要下载特定版本的包,可以使用pip download <package_name>==<version>命令。
  • 如果需要下载多个包或整个项目的依赖,可以先创建一个requirements.txt文件列出所有依赖及其版本,然后使用pip download -r requirements.txt命令下载所有依赖。
  • 想把包下载到特定目录则:pip download requests -d packages

2. 传输离线安装包

将下载的.whl.tar.gz等离线安装包文件通过USB驱动器、SCP、FTP或其他任何方法传输到离线的目标机器。

二、在目标机器上离线安装pip包

  1. 安装.whl文件
    转到包含下载的.whl文件的目录。
    使用pip命令从本地文件安装,例如pip install <package_name>-<version>.whl
  2. 安装.tar.gz或.zip源码包
    对于.tar.gz.zip等源码包,需要先解压,然后进入解压后的目录。
    在解压后的目录中,运行python setup.py install命令进行安装。
  3. 使用requirements.txt文件安装多个包
    如果已经通过pip download -r requirements.txt获取了完整的依赖链,可以直接在目标机器上使用命令pip install --no-index --find-links=<path_to_packages_folder> -r requirements.txt进行安装。这里的是包含离线安装包的本地文件夹路径。

三、使用conda离线下载安装包

虽然问题主要询问pip的操作,但conda也是一种常用的Python包管理工具,支持离线安装。以下是conda离线安装的基本步骤:

1. 在有网络的机器上下载conda包

  • 使用condaconda install --download-only <package_name>命令下载包但不实际安装。但需要注意的是,conda官方并不直接支持像pip那样的download命令,因此这里提到的是一个变通方法。
  • 使用如下命令可以把包放到特定的directory目录中(但是这条命令不太好用,因为你指定的directory必须是conda希望的包的下载路径,所以用上面的命令即可。)conda install <package_name> --download-only -p <directory>
  • 或者,可以使用conda的conda pack工具来打包整个conda环境,包括所有安装的包和依赖。

2. 传输conda包或环境包

  • 将下载的conda包或打包的环境文件传输到离线的目标机器。

3. 在目标机器上安装conda包或解压环境包

  • 对于单独下载的conda包。
    • conda install --use-local -p <directory> <package_name>
    • 例如:conda install --use-local -p /anaconda3/pkgs numpy
  • 对于使用conda pack打包的环境文件,可以在目标机器上解压,并按照conda环境的常规方法激活和使用。

注意事项

  1. 确保目标机器和用于下载离线包的机器上的Python版本以及操作系统架构(如32位与64位)一致,否则可能导致兼容性问题。
  2. 在安装过程中,记录安装信息(如使用--record选项)可能有助于后续的卸载和清理工作。
  3. 当需要更新或添加新的离线包时,重复上述下载和安装过程,并注意检查新旧版本之间的依赖变化。

比如我现在运行命令

py 复制代码
conda install --download-only debugpy

其就可以自动把debugpy和其相关的安装包下载下来了。(在==/anaconda3/pkgs里能找到相关安装包==)

相关推荐
Sagittarius_A*14 小时前
【RCELABS】Level 17~18 —— PHP命令执行函数与环境变量注入
开发语言·安全·web安全·靶场·php·rce
破碎的南瓜15 小时前
靶场中使用到的php函数以及每种漏洞的防御方式
开发语言·php
谁看我谁 狼家二丫15 小时前
局域网文件共享实战:从“账户被禁用”到成功互传文件
开发语言·php
AC赳赳老秦16 小时前
软著公开信息批量采集:OpenClaw 抓取软件著作权公开数据,分析企业技术布局方向
大数据·网络·人工智能·python·php·deepseek·openclaw
梓仁沐白16 小时前
【Agent 设计模式】多智能体协作
microsoft·设计模式·php
心念枕惊18 小时前
Conda 环境一键搬家:用 conda-pack 打包带走,连网都不用
conda·neo4j
weixin_BYSJ19871 天前
springboot校园自习室管理小程序---附源码32142
java·javascript·spring boot·python·django·flask·php
大鱼>1 天前
eBPF内核编程:从TC到XDP的全栈可观测性
linux·服务器·php
aixingpan2 天前
aixingpan.cn API开发文档:api_docs_trichart_natal_solararc_transit2接口指南
前端·php
完美火龙篇 四月的友2 天前
SkillOpt 架构拆解:把 Skill 文本当参数,用执行轨迹训练 Agent
开发语言·php