使用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里能找到相关安装包==)

相关推荐
m0_738120721 分钟前
渗透测试基础——黑盒测试下的Web漏洞挖掘与利用解析(一)
服务器·前端·网络·安全·php
catchadmin3 小时前
免费可商用 PHP 管理后台 CatchAdmin V5.3.1 发布 后台打包直降 5s 内
开发语言·php
Leweslyh4 小时前
基于 Confucius 架构的无人集群网络控制原语解析
开发语言·网络·php
ylscode5 小时前
黑客利用 GHOSTYNETWORKS 和 OMEGATECH 托管 JS 恶意软件基础设施
开发语言·安全·php·安全威胁分析
hui函数5 小时前
Python系列Bug修复|如何解决 pip install 报错 ModuleNotFoundError: No module named ‘pygame’ 问题
python·bug·pip
.千余6 小时前
【Linux】 TCP进阶详解:字节流、粘包问题、异常情况与UDP完整对比2
linux·运维·c语言·开发语言·经验分享·笔记·php
zhojiew7 小时前
通过Toxiproxy从原理到实践理解混沌工程
开发语言·php
Ether IC Verifier18 小时前
SystemVerilog 数据类型详解
php·systemverilog·uvm·ic验证
弥树子18 小时前
踩坑记录:服务器内网调用接口,真实请求URL与官方公开URL不一致问题排查
开发语言·php
AugustRed20 小时前
Linux 运维常用命令大全(超全速查表)
运维·网络·php