不联网的Linux下部署python环境

首先下载 官方简单的环境 conda Miniconda3-py312_24.5.0-0-Linux-x86_64.sh

这里使用的是python3.12加conda环境 简约的版本

通过 rz -be或者xftp来传输这个文件

登录Linux服务器 进入所在的文件目录

给安装包添加执行权限

chmod +x Miniconda3-py312_24.5.0-0-Linux-x86_64.sh

执行脚本

./Miniconda3-py312_24.5.0-0-Linux-x86_64.sh

  • 按回车,同意 License 协议(输入yes
  • 默认安装路径:/home/app/miniconda3(可直接回车)
  • 最后输入yes,让 conda 自动配置环境变量

安装完成后,执行以下命令让配置生效

source ~/.bashrc

验证是否安装成功

conda --version

python --version

正常会显示 conda 版本号和Python 3.12.x

三、离线部署 Python 包(核心步骤)

1. 在有网络的 Windows 电脑上,下载所有依赖包

在 cmd 里执行以下命令,一次性下载适配 Linux x86_64、Python 3.12 的包

下载单个包(以fastapi为例) pip download fastapi==0.136.3 -d %userprofile%\Desktop\offline_pkgs --platform manylinux2014_x86_64 --python-version 3.12 --implementation cp --only-binary=:all: # 批量下载requirements.txt里的所有包 pip download -r %userprofile%\Desktop\requirements.txt -d %userprofile%\Desktop\offline_pkgs --platform manylinux2014_x86_64 --python-version 3.12 --implementation cp --only-binary=:all:

下载好的包传输至Linux服务器

服务器端离线安装包

  1. 激活 conda 的 base 环境: bash

    运行

    复制代码
    conda activate base
  2. 进入包目录,执行安装: bash

    运行

    复制代码
    cd /home/app/algo/offline_pkgs
    python -m pip install --no-index --find-links=/home/app/algo/offline_pkgs -r requirements.txt

    或者安装单个包:

    bash

    运行

    复制代码
    python -m pip install --no-index --find-links=/home/app/algo/offline_pkgs fastapi==0.136.3

四、项目运行与环境固化

  1. 验证所有依赖安装完成后,运行你的项目: bash

    运行

    复制代码
    python /home/app/algo/algo_service/main.py
  2. 如需固化当前环境,可导出离线环境配置(可选): bash

    运行

    复制代码
    # 导出当前环境的依赖列表
    pip freeze > /home/app/algo/requirements.txt

五、常见问题解决

  1. conda 命令找不到 :重新执行source ~/.bashrc,或者退出 Xshell 重新登录。
  2. 包安装提示版本不匹配 :确认下载时--python-version 3.12和服务器环境一致,且包名里的cp312和 Python 版本对应。
  3. scp 传输失败 :用rz -be或 U 盘拷贝文件到服务器。
相关推荐
chuan.bai9 分钟前
Java RAG 实战(第 11 篇):RAG 知识工作台网页
java·开发语言·人工智能
离陌在学C#2 小时前
C# 事件(Event)详解:从概念到实战
开发语言·c#
Terra.K3 小时前
Java异常学习[特殊字符]
java·开发语言·学习
安_3 小时前
如何构建和使用向量索引?HNSW 和 IVF 有什么区别?
python·ai
三言老师4 小时前
K8s集群运行时自动化运维全覆盖落地实操(下)
linux·运维·服务器·网络
葡萄城技术团队4 小时前
InfluxDB 2\.x 深度解析:核心架构、Flux 函数与制造业落地指南(三)
java·开发语言·架构
counting money4 小时前
Java IO流详解:从InputStream到文件操作实战
java·开发语言·python
wuyk5555 小时前
98.C语言易混难点:字符数组与字符串指针的底层差异
c语言·开发语言·c++·stm32·嵌入式硬件·算法
ltl5 小时前
HAProxy HTX 与 HTTP 路径:内部表示、改写落点与协议分叉
linux
ltl5 小时前
可拆分 OS:CXL 内存池化如何动摇本地 DRAM 假设
linux