From 2a76fc64774517f66e4005deaec01a5222112b1b Mon Sep 17 00:00:00 2001 From: jianf <2198972886@qq.com> Date: Tue, 14 Apr 2026 07:12:51 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DLinux=E5=92=8CmacOS?= =?UTF-8?q?=E6=89=93=E5=8C=85=E8=84=9A=E6=9C=AC,=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=99=9A=E6=8B=9F=E7=8E=AF=E5=A2=83=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在打包过程中自动创建和激活虚拟环境 - 在虚拟环境中安装依赖,避免系统环境污染 - 打包完成后自动清理虚拟环境 - 统一使用python命令而非python3 🤖 Generated with CodeArts Agent --- build/build_linux.sh | 27 +++++++++++++++++++++++---- build/build_macos.sh | 27 +++++++++++++++++++++++---- 2 files changed, 46 insertions(+), 8 deletions(-) mode change 100644 => 100755 build/build_linux.sh diff --git a/build/build_linux.sh b/build/build_linux.sh old mode 100644 new mode 100755 index 33cf6f9..9992439 --- a/build/build_linux.sh +++ b/build/build_linux.sh @@ -14,14 +14,26 @@ if ! command -v python3 &> /dev/null; then exit 1 fi -echo "Installing dependencies..." -pip3 install -r requirements.txt 2>/dev/null || pip install -r requirements.txt +# 创建并激活虚拟环境 +VENV_DIR="$PROJECT_ROOT/.venv_build" + +echo "Creating virtual environment: $VENV_DIR" +python3 -m venv "$VENV_DIR" + +echo "Activating virtual environment..." +source "$VENV_DIR/bin/activate" + +echo "Upgrading pip in virtual environment..." +pip install --upgrade pip + +echo "Installing dependencies in virtual environment..." +pip install -r requirements.txt echo "Cleaning previous builds..." rm -rf build/dist build/__pycache__ 2>/dev/null || true echo "Running PyInstaller..." -python3 -m PyInstaller trulymem_entry.py \ +python -m PyInstaller trulymem_entry.py \ --clean \ --onefile \ --console \ @@ -61,4 +73,11 @@ python3 -m PyInstaller trulymem_entry.py \ echo "===== Build Complete =====" echo "Binary: dist/TrulyMEM" -ls -la dist/ \ No newline at end of file +ls -la dist/ + +# 清理虚拟环境 +echo "Cleaning up virtual environment..." +deactivate +rm -rf "$VENV_DIR" + +echo "Build finished successfully!" \ No newline at end of file diff --git a/build/build_macos.sh b/build/build_macos.sh index 27e114f..69afd97 100644 --- a/build/build_macos.sh +++ b/build/build_macos.sh @@ -14,8 +14,20 @@ if ! command -v python3 &> /dev/null; then exit 1 fi -echo "Installing dependencies..." -pip3 install -r requirements.txt +# 创建并激活虚拟环境 +VENV_DIR="$PROJECT_ROOT/.venv_build" + +echo "Creating virtual environment: $VENV_DIR" +python3 -m venv "$VENV_DIR" + +echo "Activating virtual environment..." +source "$VENV_DIR/bin/activate" + +echo "Upgrading pip in virtual environment..." +pip install --upgrade pip + +echo "Installing dependencies in virtual environment..." +pip install -r requirements.txt echo "Generating ICNS icon..." if [ -d "pic/TrulyMEM.iconset" ]; then @@ -27,7 +39,7 @@ echo "Cleaning previous builds..." rm -rf build/dist build/__pycache__ 2>/dev/null || true echo "Running PyInstaller..." -python3 -m PyInstaller trulymem_entry.py \ +python -m PyInstaller trulymem_entry.py \ --clean \ --onefile \ --console \ @@ -68,4 +80,11 @@ python3 -m PyInstaller trulymem_entry.py \ echo "===== Build Complete =====" echo "Binary: dist/TrulyMEM" -ls -la dist/ \ No newline at end of file +ls -la dist/ + +# 清理虚拟环境 +echo "Cleaning up virtual environment..." +deactivate +rm -rf "$VENV_DIR" + +echo "Build finished successfully!" \ No newline at end of file