实际生产环境没有linux服务器,只有Windows台式机,如何进行python运行环境(离线)的快速部署?
方案:先在线安装好python解释器和代码依赖包,然后放在离线环境下运行。

文件目录结构:
D:\python_program
   -program (你的工程代码)
   -python (嵌入式包解压后的目录)
   start.bat
   run.vbs

一、python嵌入式包(即embeddable版)安装

1.下载安装

官网下载对应的embed版本的文件包,找到需要的python版本,解压即可。
在这里插入图片描述
在这里插入图片描述
解压后的文件夹命名为python

2. 基本配置

找到解压目录./python中的pythonXX._pth文件(XX代表Python版本号),取消注释相关行以启用标准库路径。

# Uncomment to run site.main() automatically
#import site
修改为:
# Uncomment to run site.main() automatically
import site

3. 安装pip

Windows embeddable package默认不包含pip,需要手动安装 。
在解压文件夹路径处D://XX/…/python输入cmd,即可打开cmd,并运行以下命令:

curl -sSL https://bootstrap.pypa.io/get-pip.py -o get-pip.py
.\python.exe get-pip.py

./python文件夹下会生成两个文件夹Lib和Scripts。

二. 依赖包安装

1. 配置pip源

在解压的python环境文件夹下,新建一个pip.ini文件,内容输入:

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
可选其他国内镜像源(任选其一):
镜像源 URL
清华大学 https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
华中科技大学 https://pypi.hustunique.com/simple
豆瓣 https://pypi.douban.com/simple
中科大 https://pypi.mirrors.ustc.edu.cn/simple

2. 安装依赖包

安装依赖时,必须用嵌入式的解释器进行安装,下面是安装pandas的范列:

.\python\python.exe -m pip install pandas -t .\python\Lib\site-packages

也可以通过 requirements.txt 安装python代码的所有依赖包

.\python\python.exe -m pip install -r requirements.txt -t .\python\Lib\site-packages

注意:
(1)解释器必须是嵌入式解释器.\python\python.exe,同时通过-t参数来指定三方库的位置,也就是说,必须安装到项目的目录中,而不是系统的默认开发环境目录。

(2)embed版的python过于精简,可能tar包也无法安装,可以下载wheel格式的直接安装。一个查找wheel的网址:piwheels - Package List

三. 编写启动脚本

Windows批处理脚本(start.bat文件),用于运行基于Python embeddable package的Python程序。

@echo off
chcp 65001
echo 开始运行
".\python\python.exe" ".\program\api.py" > training.log 2>&1 &
pause

双击执行,会显示命令提示符窗口,关闭窗口服务服务进程会终止。

查看脚本进程ID:

wmic process get commandline,processid | findstr api.py | findstr /v findstr

也可以通过端口号反推进程ID:

netstat -ano | findstr 5001

使用 taskkill命令终止进程

taskkill /pid [进程号]  /f /t

/f 是指强制终止进程, /t 是指终止该进程创建的子进程。

四. windows后台执行python脚本

同级目录下创建一个run.vbs文件,里面写

Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c start.bat",0

0 表示安全隐藏窗口

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐