当前位置: 首页 > ops >正文

Linux 离线环境下 Anaconda3 与核心机器学习库(scikit-learn/OpenCV/PyTorch)安装配置指南

目录

Linux 离线环境下 Anaconda3 与核心机器学习库(scikit-learn/OpenCV/PyTorch)安装配置指南

前言

一、准备工作:提前下载所需文件

1.1 Anaconda3 安装包

1.2 各机器学习库的 .whl 文件

关键版本对应关系

注意事项

二、Step 1:安装 Anaconda3

2.1 赋予安装包执行权限

2.2 运行安装脚本

安装过程关键提示

2.3 验证 Anaconda 安装

三、Step 2:创建并激活 Conda 虚拟环境

3.1 创建环境

3.2 激活环境

四、Step 3:离线安装各机器学习库

4.1 安装依赖库(numpy、scipy 等)

4.2 安装 scikit-learn

验证安装

4.3 安装 OpenCV 3.X

步骤 1:解决系统依赖(可选但重要)

步骤 2:安装 OpenCV .whl 文件

验证安装

4.4 安装 PyTorch 1.8.X + torchvision 0.9.X

安装命令

验证安装(区分 CPU/GPU 环境)

五.在 Anaconda 环境中运行 Python 文件(.py)

五、常见问题与解决方案

5.1 问题 1:pip install 提示 “whl is not a supported wheel on this platform”

5.2 问题 2:import cv2 报错 “libGL.so.1: cannot open shared object file”

5.3 问题 3:PyTorch torch.cuda.is_available() 输出 False(GPU 机器)

六、总结

前言

在实际开发中,我们常遇到无网络 / 弱网络的 Linux 环境(如内网服务器、隔离计算节点),此时无法通过 conda install 或 pip install 直接拉取在线资源。本文针对这一场景,详细讲解如何利用提前下载的 Anaconda3 安装包 和各库的 .whl 文件,完成从环境搭建到库配置的全流程,确保 scikit-learn、OpenCV 3.X、PyTorch 1.8.X、torchvision 0.9.X 等核心库正常运行。

一、准备工作:提前下载所需文件

离线安装的核心是 “提前备好所有资源”。需在有网络的机器上下载以下文件,再通过 U 盘、SCP 等方式传输到目标 Linux 机器(建议统一放在 /opt/offline_pkgs 目录,后续操作更便捷)。

1.1 Anaconda3 安装包

  • 下载地址:Anaconda 历史版本页
  • 选择原则
    • 系统架构:Linux 对应 Linux-x86_64.sh(64 位系统,主流选择);
    • 版本适配:推荐 Anaconda3-2021.05-Linux-x86_64.sh(内置 Python 3.8,与后续 PyTorch 1.8.X 兼容性最佳)。
  • 示例文件名Anaconda3-2021.05-Linux-x86_64.sh

1.2 各机器学习库的 .whl 文件

.whl 文件需严格匹配 Python 版本(如 3.8 对应 cp38)、系统架构linux_x86_64)和 CUDA 版本(PyTorch 需区分 CPU/CUDA 版本)。

关键版本对应关系
依赖核心推荐 .whl 版本标识(示例)下载来源
scikit-learnPython 3.6-3.9scikit_learn-1.0.2-cp38-cp38-linux_x86_64.whlPyPI scikit-learn 页
OpenCV 3.XPython 3.6-3.9opencv_python-3.4.18.65-cp38-cp38-linux_x86_64.whlPyPI OpenCV 页
PyTorch 1.8.XCUDA 10.2/11.1 或 CPUtorch-1.8.0+cu111-cp38-cp38-linux_x86_64.whlPyTorch 历史版本页
torchvision 0.9.X与 PyTorch 匹配torchvision-0.9.0+cu111-cp38-cp38-linux_x86_64.whl同上,需与 PyTorch CUDA 版本一致
注意事项
  • Python 版本:确保 .whl 文件名中的 cpXX 与 Anaconda 内置 Python 版本一致(如 Anaconda3-2021.05 对应 Python 3.8,即 cp38);
  • CUDA 版本:若目标机器有 NVIDIA 显卡且需 GPU 加速,需先确认显卡支持的 CUDA 版本(nvidia-smi 查看),再下载对应 PyTorch 版本(如 CUDA 11.1 对应 +cu111,无 GPU 则选 +cpu);
  • 依赖提前下:scikit-learn、OpenCV 依赖 numpyscipy 等库,建议一并下载对应 .whl(如 numpy-1.23.5-cp38-cp38-linux_x86_64.whl),避免安装时因缺依赖失败。

二、Step 1:安装 Anaconda3

Anaconda 是 Python 环境管理工具,可隔离不同项目的依赖,避免版本冲突。

2.1 赋予安装包执行权限

打开 Linux 终端,进入存放 Anaconda 安装包的目录(如 /opt/offline_pkgs),执行以下命令赋予权限:

bash

cd /opt/offline_pkgs
chmod +x Anaconda3-2021.05-Linux-x86_64.sh

2.2 运行安装脚本

执行安装脚本,按提示完成配置:

bash

bash Anaconda3-2021.05-Linux-x86_64.sh
安装过程关键提示
  1. 阅读许可协议:按 Enter 继续,按 Space 翻页,最后输入 yes 同意;
  2. 选择安装路径:默认路径为 /home/用户名/anaconda3,若需自定义(如 /opt/anaconda3),直接输入路径后按 Enter(自定义路径需确保当前用户有写入权限,可提前 sudo chown 用户名:用户组 /opt/anaconda3);
  3. 是否初始化 Conda:输入 yes(自动配置环境变量,避免后续手动添加)。

2.3 验证 Anaconda 安装

关闭当前终端,重新打开(使环境变量生效),执行以下命令:

bash

conda --version
# 预期输出:conda 4.10.3(版本与 Anaconda 对应,略有差异正常)python --version
# 预期输出:Python 3.8.8(与 Anaconda 内置版本一致)

三、Step 2:创建并激活 Conda 虚拟环境

建议为机器学习项目创建独立的 Conda 环境(避免污染 base 环境),命名为 ml_env(可自定义)。

3.1 创建环境

指定 Python 版本为 3.8(与 Anaconda 内置版本一致,避免兼容性问题):

bash

conda create -n ml_env python=3.8 --offline
  • --offline:离线模式,不联网拉取资源(因 Python 已在 Anaconda 安装包中,无需额外下载)。

3.2 激活环境

bash

conda activate ml_env

激活后,终端前缀会显示 (ml_env),表示当前处于该环境中。

四、Step 3:离线安装各机器学习库

所有 .whl 文件已放在 /opt/offline_pkgs,在激活的 ml_env 环境中,通过 pip install 离线安装。

4.1 安装依赖库(numpy、scipy 等)

先安装基础依赖,避免后续库安装失败:

bash

# 进入 whl 文件目录
cd /opt/offline_pkgs# 安装 numpy(scikit-learn/OpenCV 依赖)
pip install numpy-1.23.5-cp38-cp38-linux_x86_64.whl# 安装 scipy(scikit-learn 依赖)
pip install scipy-1.9.3-cp38-cp38-linux_x86_64.whl

4.2 安装 scikit-learn

bash

pip install scikit_learn-1.0.2-cp38-cp38-linux_x86_64.whl
验证安装

bash

python -c "import sklearn; print('scikit-learn 版本:', sklearn.__version__)"
# 预期输出:scikit-learn 版本:1.0.2

4.3 安装 OpenCV 3.X

OpenCV 离线安装易缺系统依赖(如 libGL.so.1),需先处理。

步骤 1:解决系统依赖(可选但重要)

若后续 import cv2 报错 libGL.so.1: cannot open shared object file,需提前安装 libgl1-mesa-glx(Ubuntu 为例):

  1. 在有网络机器下载 libgl1-mesa-glx 的 deb 包:libgl1-mesa-glx 下载页(选择对应系统版本,如 Ubuntu 20.04 选 focal);
  2. 传输到目标机器,执行安装:

    bash

    sudo dpkg -i libgl1-mesa-glx_20.2.6-0ubuntu0.20.04.1_amd64.deb
    
步骤 2:安装 OpenCV .whl 文件

bash

pip install opencv_python-3.4.18.65-cp38-cp38-linux_x86_64.whl
验证安装

bash

python -c "import cv2; print('OpenCV 版本:', cv2.__version__)"
# 预期输出:OpenCV 版本:3.4.18

4.4 安装 PyTorch 1.8.X + torchvision 0.9.X

PyTorch 与 torchvision 版本必须严格匹配(1.8.X 对应 0.9.X),且需与 CUDA 版本一致。

安装命令

bash

# 安装 PyTorch 1.8.X(以 CUDA 11.1 版本为例,CPU 版本替换为对应 whl 文件名)
pip install torch-1.8.0+cu111-cp38-cp38-linux_x86_64.whl# 安装 torchvision 0.9.X(需与 PyTorch CUDA 版本一致)
pip install torchvision-0.9.0+cu111-cp38-cp38-linux_x86_64.whl
验证安装(区分 CPU/GPU 环境)

bash

python -c "
import torch
import torchvision
print('PyTorch 版本:', torch.__version__)
print('torchvision 版本:', torchvision.__version__)
print('CUDA 是否可用:', torch.cuda.is_available())  # GPU 环境应输出 True,CPU 输出 False
"
  • 预期输出(GPU 环境)

    plaintext

    PyTorch 版本:1.8.0+cu111
    torchvision 版本:0.9.0+cu111
    CUDA 是否可用:True
    

五.在 Anaconda 环境中运行 Python 文件(.py)

  1. 打开 Anaconda Prompt(Windows)或终端(macOS/Linux)
  2. 激活你要使用的环境(如果使用默认环境可以跳过):

    bash

    conda activate 你的环境名称
    
  3. 切换到 Python 文件所在的目录,例如:

    bash

    cd /path/to/你的文件目录  # Linux/macOS
    cd C:\path\to\你的文件目录  # Windows
    
  4. 运行 Python 文件:

    bash

    python 你的文件名.py

五、常见问题与解决方案

5.1 问题 1:pip install 提示 “whl is not a supported wheel on this platform”

  • 原因:.whl 文件版本与当前 Python 版本 / 系统架构不匹配(如用了 cp39 的 whl 但 Python 是 3.8);
  • 解决:重新下载对应 cpXX(Python 版本)和 linux_x86_64(系统架构)的 whl 文件。

5.2 问题 2:import cv2 报错 “libGL.so.1: cannot open shared object file”

  • 原因:缺少 OpenCV 依赖的系统库 libgl1-mesa-glx
  • 解决:按 4.3 步骤 1 安装对应的 deb 包。

5.3 问题 3:PyTorch torch.cuda.is_available() 输出 False(GPU 机器)

  • 原因 1:CUDA 版本与 PyTorch whl 不匹配(如显卡支持 CUDA 10.2,但装了 +cu111 的 PyTorch);
  • 原因 2:未安装 NVIDIA 显卡驱动;
  • 解决
    1. 执行 nvidia-smi 查看显卡支持的 CUDA 版本;
    2. 重新下载对应 CUDA 版本的 PyTorch whl;
    3. 若 nvidia-smi 报错,需先安装显卡驱动(离线驱动安装需提前下载对应 .run 文件)。

六、总结

Linux 离线环境下的库安装核心是 “提前准备 + 版本匹配”,关键步骤可归纳为:

  1. 在有网络机器下载 Anaconda 安装包和各库的 .whl 文件(严格匹配 Python/CUDA/ 系统架构);
  2. 安装 Anaconda 并创建独立 Conda 环境;
  3. 按 “依赖库→核心库” 的顺序,用 pip install 离线安装;
  4. 安装后通过简单代码验证各库是否正常运行。

完成以上步骤后,即可在离线 Linux 环境中开展机器学习、计算机视觉相关开发(如用 scikit-learn 做数据挖掘、OpenCV 做图像处理、PyTorch 训练深度学习模型)。

http://www.xdnf.cn/news/18835.html

相关文章:

  • React内网开发代理配置详解
  • 安装了TortoiseSVN但是在idea的subversion里面找不到svn.exe
  • LangChain4J-(3)-模型参数配置
  • 力扣 30 天 JavaScript 挑战 第41天 (第十二题)对异步操作,promise,async/await有了更深理解
  • 部署k8s-efk日志收集服务(小白的“升级打怪”成长之路)
  • 在 Ubuntu 系统上安装 MySQL
  • Spring Cloud 高频面试题详解(含代码示例与深度解析)
  • 浏览器与计算机网络
  • 计算机网络:服务器处理多客户端(并发服务器)
  • 【Redis#8】Redis 数据结构 -- Zset 类型
  • Java 大视界 -- Java 大数据机器学习模型在电商推荐系统冷启动问题解决与推荐效果提升中的应用(403)
  • Containerd 安装与配置指南
  • 基于Spring Boot的民宿服务管理系统-项目分享
  • THM Smol
  • Redis 数据结构
  • Content-Type是application/x-www-form-urlencoded表示从前端到后端提交的是表单的形式
  • vue新能源汽车销售平台的设计与实现(代码+数据库+LW)
  • 数据结构-串
  • 【微信小程序教程】第13节:用户授权与登录流程狼惫
  • ES03-常用API
  • 前端工程化与AI融合:构建智能化开发体系
  • 【git】P1 git 分布式管理系统简介
  • 开源 C++ QT Widget 开发(七)线程--多线程及通讯
  • 使用openCV(C ++ / Python)的Alpha混合
  • 安卓闪黑工具:aosp16版本Winscope之搜索功能剖析
  • GTCB:引领金融革命,打造数字经济时代标杆
  • 微生产力革命:AI解决生活小任务分享会
  • 欧盟《人工智能法案》生效一年主要实施进展概览(一)
  • MyBatis 之关联查询(一对一、一对多及多对多实现)
  • 解决VSCode中Cline插件的Git锁文件冲突问题