离线部署Python3的环境

这篇博客介绍了如何在离线的CentOS7.5系统上部署Python3环境。作者提供了预先准备好的rpm包和Python3安装包,并创建了一个名为install_py.sh的脚本来实现一键部署。该脚本包含了检查rpm包、安装rpm依赖以及编译安装Python3的步骤。链接中提供了相关资源,包括rpm包和脚本,帮助读者在无网络环境下搭建Python3运行环境。
部署运行你感兴趣的模型镜像

作为一名运维人员,为开发搭环境是日常工作之一,之前讲过如何离线部署docker环境,今天聊下python3.离线部署python3的环境,需要提前准备好安装包和环境依赖,其中最麻烦的还是处理环境依赖

为了在离线主机上面也能部署python3环境,特地搜索了rpm包,并处理好了依赖关系,最后打包成可以一键部署的离线包.
系统环境:centos7.5-1804
链接:https://pan.baidu.com/s/1DvEFKkCzVe5q3gQXyaH7Lw
提取码:fj7t
install_py.sh内容

 

#!/bin/bash
BASEPATH=/home
cd $BASEPATH
tar -xvf ./rpm.tar  -C /home/
tar -xvf ./Pytho*.tgz -C /home/

function check_rpm()
{
        if [ ! -d "/home/rpm/" ]; then
        echo "在/home目录下未发现rpm包"
        exit 0
        fi
}
function install_rpm()
{
        cd /home/rpm
        for line in `ls`;
        do cd $line && rpm -Uvh --force --nodeps ./*.rpm && cd ../;
        done
}

function install_py()
{
        cd /home/Python*
        ./configure --with-ssl
        make
        sleep 2
        make install
}

check_rpm
install_rpm
install_py

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

<think>好的,用户想了解如何通过bat文件离线部署Python环境。首先,我需要明确用户的需求。他们可能需要在没有网络连接的环境安装Python和依赖包,比如内网服务器或者某些受限的系统。用户可能已经有一个Python环境和项目,需要将这些打包起来,通过bat脚本自动化部署到目标机器。 接下来,我需要考虑离线部署的关键步骤。首先,Python解释器本身需要安装,但用户可能希望将Python嵌入到项目中,避免在目标机器上安装全局Python。这时候可以使用便携式Python,比如使用官方的Windows嵌入包或者用PyInstaller打包。 然后是依赖包的安装。用户需要提前下载所有依赖包的whl文件,并在离线环境中通过pip安装。这需要将pip包和依赖项一起打包,并在bat脚本中调用本地的pip来安装这些whl文件。 接下来是环境变量的设置。bat脚本需要配置Python路径,确保执行时能正确找到Python解释器和库。这可能包括设置PATH、PYTHONPATH等环境变量。 另外,可能需要处理虚拟环境。用户可能希望在隔离的环境部署,避免与系统Python冲突。所以需要在脚本中创建虚拟环境,并激活它。 还需要考虑脚本的兼容性,比如不同的Python版本,或者不同操作系统的支持。这里用户提到的是bat文件,所以应该专注于Windows环境。 用户可能遇到的问题包括:如何确保所有依赖都正确打包,如何处理不同系统的路径问题,如何处理安装过程中的错误,以及如何验证部署是否成功。 需要提供一个结构清晰的bat脚本示例,分步骤执行安装Python安装依赖、设置环境变量、创建快捷方式等操作。同时,需要说明如何准备这些文件,比如使用pip download命令获取依赖包,或者使用PyInstaller打包整个应用。 可能还需要考虑权限问题,比如是否需要以管理员权限运行bat文件,以及如何处理目标机器上的安全策略限制。 最后,要确保用户了解这种方法的限制,比如磁盘空间占用,性能问题,或者更新维护的困难。同时,提供一些替代方案,如使用Docker或虚拟机,但用户可能因为环境限制而选择bat脚本的方式。 </think>### **解决方案:通过 BAT 脚本实现 Python 离线部署** --- #### **1. 核心目标** 在 **无网络连接** 的环境中,通过 `.bat` 脚本自动化完成以下任务: - 安装 Python 解释器(便携式) - 安装依赖包(`whl` 文件预打包) - 配置环境变量 - 创建快捷启动方式 --- #### **2. 准备工作** ##### **步骤1:打包 Python 嵌入包** - **下载官方嵌入包**(Windows) 地址:https://www.python.org/downloads/windows/ 选择 `Windows embeddable package`(如 `python-3.12.2-embed-amd64.zip`) - **解压并重命名文件夹** ```bash python-3.12.2-embed-amd64.zip → python_embed ``` ##### **步骤2:打包依赖库(`whl` 文件)** - **在联网机器上下载依赖包** ```bash pip download -r requirements.txt -d ./packages ``` 生成 `packages/` 目录,包含所有依赖的 `.whl` 文件。 - **将 `packages/` 与 `python_embed/` 放在同一目录** ``` deploy/ ├── python_embed/ # 嵌入式 Python ├── packages/ # 依赖包 ├── install.bat # 安装脚本 └── run.bat # 启动脚本 ``` --- #### **3. 编写 BAT 脚本** ##### **步骤3安装脚本 `install.bat`** ```bat @echo off setlocal :: 设置路径 set PYTHON_DIR=%CD%\python_embed set PKG_DIR=%CD%\packages :: 1. 解压嵌入式 Python echo [+] 解压嵌入式 Python... if exist "%PYTHON_DIR%" ( echo [.] Python 已存在,跳过解压 ) else ( echo [.] 解压 python-3.12.2-embed-amd64.zip... powershell -command "Expand-Archive -Path python_embed.zip -DestinationPath %PYTHON_DIR%" ) :: 2. 安装依赖包 echo [+] 安装依赖包... %PYTHON_DIR%\python.exe -m pip install --no-index --find-links=%PKG_DIR% -r requirements.txt :: 3. 生成启动脚本 echo [+] 生成启动脚本... echo @echo off > run.bat echo set PATH=%%CD%%\python_embed;%%%%PATH%%%% >> run.bat echo python_embed\python.exe main.py >> run.bat echo pause >> run.bat echo [+] 安装完成!双击 run.bat 启动程序 ``` ##### **步骤4:启动脚本 `run.bat`** ```bat @echo off setlocal :: 设置 Python 路径 set PATH=%CD%\python_embed;%PATH% :: 执行主程序 python_embed\python.exe main.py pause ``` --- #### **4. 使用流程** ##### **步骤5:部署到目标机器** 1. **将 `deploy/` 文件夹完整复制到目标机器** 2. **双击运行 `install.bat`** - 首次运行会自动解压 Python安装依赖 - 后续直接运行 `run.bat` 即可启动程序 ##### **步骤6:验证部署** - **检查 Python 版本** ```bat python_embed\python.exe --version ``` - **检查依赖是否安装成功** ```bat python_embed\python.exe -c "import sys; print(sys.path)" ``` --- #### **5. 进阶优化** ##### **优化1:打包为单个 EXE(可选)** 使用 `PyInstaller` 将整个项目打包为一个 `exe`,简化部署流程: ```bash pip install pyinstaller pyinstaller --onefile --add-data "packages;packages" main.py ``` ##### **优化2:自动创建快捷方式** ```bat :: 在 install.bat 末尾添加 echo [+] 创建桌面快捷方式... set SCRIPT="%TEMP%\create_shortcut.vbs" echo Set oWS = WScript.CreateObject("WScript.Shell") > %SCRIPT% echo sLinkFile = "%USERPROFILE%\Desktop\MyApp.lnk" >> %SCRIPT% echo Set oLink = oWS.CreateShortcut(sLinkFile) >> %SCRIPT% echo oLink.TargetPath = "%CD%\run.bat" >> %SCRIPT% echo oLink.Save >> %SCRIPT% cscript /nologo %SCRIPT% del %SCRIPT% ``` ##### **优化3:检测操作系统架构** ```bat :: 在 install.bat 开头添加 echo [+] 检测系统架构... if "%PROCESSOR_ARCHITECTURE%"=="AMD64" ( echo [.] 64-bit 系统 ) else ( echo [!] 仅支持 64-bit Windows 系统! pause exit /b 1 ) ``` --- #### **6. 注意事项** 1. **路径限制**:确保所有路径不含中文或空格(如 `C:\Program Files` 会出错)。 2. **权限问题**:若目标机器禁止运行脚本,需以管理员身份运行 `install.bat`。 3. **磁盘空间**:嵌入式 Python + 依赖包可能占用较大空间(如 `pandas` 等库)。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值