不联网的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 盘拷贝文件到服务器。
相关推荐
大圣编程4 小时前
Java 多维数组详解
java·开发语言
殳翰7 小时前
下服务器端开发流程及相关工具介绍(C++)
开发语言·c++
恒5397 小时前
Linux文件系统I
linux·运维·服务器
阿成学长_Cain7 小时前
Linux ipcs 命令超全详解:查看共享内存 / 消息队列 / 信号量,IPC 运维必备
linux·运维·服务器·网络·数据库
黯然神伤8887 小时前
AlmaLinux设置软件下载源
linux·alma
落寞的星星7 小时前
这个对象就包含了已经转换好的DFA和各种词法分析器运转所需要的参数。下一步,我们就可以用ScannerInfo对象创建出Scanner对象,请看下面的代码:
开发语言·c#
nothing&nowhere8 小时前
用 Python 做问卷数据清洗:无效样本检测与处理实战
开发语言·python·数据清洗·数据处理·问卷星·问卷星脚本·刷问卷
青瓦梦滋8 小时前
协议定制/序列化-反序列化(Linux视角)
linux·服务器·网络·c++
花酒锄作田8 小时前
如何发布自己的 Python 库到 PyPI
python
2601_961593428 小时前
Rust 开发环境配置繁琐?RustRover 开箱即用搞定编码调试
开发语言·后端·macos·rust