Use uv for Python environment
This commit is contained in:
@@ -15,7 +15,9 @@ from flask import Flask, Response, jsonify
|
||||
from werkzeug.serving import make_server
|
||||
|
||||
# 添加当前目录到路径
|
||||
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
||||
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||
sys.path.insert(0, BASE_DIR)
|
||||
LOG_FILE = os.environ.get("ARM_SERVER_LOG_FILE", os.path.join(BASE_DIR, "server.log"))
|
||||
|
||||
# 配置日志
|
||||
logging.basicConfig(
|
||||
@@ -23,7 +25,7 @@ logging.basicConfig(
|
||||
format="%(asctime)s [%(levelname)s] %(name)s: %(message)s",
|
||||
handlers=[
|
||||
logging.StreamHandler(),
|
||||
logging.FileHandler(os.path.expanduser("~/work/arm_server/server.log"))
|
||||
logging.FileHandler(LOG_FILE)
|
||||
]
|
||||
)
|
||||
logger = logging.getLogger("arm_server")
|
||||
|
||||
@@ -6,13 +6,14 @@ Wants=network-online.target
|
||||
[Service]
|
||||
Type=simple
|
||||
User=pi
|
||||
WorkingDirectory=/home/pi/work/arm_server
|
||||
WorkingDirectory=/home/pi/work/smart-inspection/arm_server
|
||||
Environment=PATH=/home/pi/.local/bin:/usr/local/bin:/usr/bin:/bin
|
||||
ExecStartPre=/bin/sleep 5
|
||||
ExecStart=/usr/bin/python3 /home/pi/work/arm_server/arm_server.py
|
||||
ExecStart=/usr/bin/env uv run --locked python arm_server.py
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
StandardOutput=append:/home/pi/work/arm_server/stdout.log
|
||||
StandardError=append:/home/pi/work/arm_server/stderr.log
|
||||
StandardOutput=append:/home/pi/work/smart-inspection/arm_server/stdout.log
|
||||
StandardError=append:/home/pi/work/smart-inspection/arm_server/stderr.log
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
# 机械臂端依赖(最少依赖)
|
||||
# RoboFlow 已在树莓派上运行,此端仅做透传
|
||||
flask>=1.0,<2.3
|
||||
+6
-8
@@ -1,12 +1,10 @@
|
||||
#!/bin/bash
|
||||
# 启动机械臂服务端
|
||||
set -e
|
||||
|
||||
cd ~/work/arm_server
|
||||
PYTHON_BIN="${PYTHON_BIN:-/usr/bin/python3}"
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
|
||||
ARM_SERVER_DIR="${ARM_SERVER_DIR:-$PROJECT_DIR/arm_server}"
|
||||
|
||||
if ! "$PYTHON_BIN" -c "import flask" >/dev/null 2>&1; then
|
||||
echo "Flask 未安装,正在安装 requirements.txt..."
|
||||
"$PYTHON_BIN" -m pip install --user -r requirements.txt
|
||||
fi
|
||||
|
||||
exec "$PYTHON_BIN" arm_server.py
|
||||
cd "$ARM_SERVER_DIR"
|
||||
exec uv run --locked python arm_server.py
|
||||
|
||||
Reference in New Issue
Block a user