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