69 lines
1.5 KiB
Bash
Executable File
69 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# Simple Offline Installation Script for Tkinter Player
|
|
|
|
set -e
|
|
|
|
echo "================================="
|
|
echo " TKINTER PLAYER OFFLINE INSTALL"
|
|
echo "================================="
|
|
|
|
# 1. Check architecture
|
|
|
|
# Detect architecture, treating armhf and armv7l as 32-bit
|
|
ARCH=$(uname -m)
|
|
if lscpu | grep -qi 'armhf'; then
|
|
ARCH_TYPE="armhf"
|
|
else
|
|
ARCH_TYPE="$ARCH"
|
|
fi
|
|
echo "Architecture: $ARCH_TYPE"
|
|
|
|
# 2. Select library folder
|
|
|
|
# Use 32-bit libraries for armv7l or armhf
|
|
if [ "$ARCH_TYPE" = "armv7l" ] || [ "$ARCH_TYPE" = "armhf" ]; then
|
|
LIBS_FOLDER="req_libraries_32bit"
|
|
echo "Using: 32-bit libraries (armv7l/armhf)"
|
|
elif [ "$ARCH_TYPE" = "aarch64" ]; then
|
|
LIBS_FOLDER="req_libraries"
|
|
echo "Using: 64-bit libraries (aarch64)"
|
|
else
|
|
LIBS_FOLDER="req_libraries"
|
|
echo "Using: default libraries"
|
|
fi
|
|
|
|
# 3. Check folder exists
|
|
if [ ! -d "$LIBS_FOLDER" ]; then
|
|
echo "ERROR: $LIBS_FOLDER not found!"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Library folder: $LIBS_FOLDER"
|
|
WHEEL_COUNT=$(ls $LIBS_FOLDER/*.whl | wc -l)
|
|
echo "Wheel files: $WHEEL_COUNT"
|
|
|
|
# 4. Create .venv
|
|
echo ""
|
|
echo "Creating .venv..."
|
|
python3 -m venv .venv
|
|
|
|
# 5. Activate environment
|
|
echo "Activating environment..."
|
|
source .venv/bin/activate
|
|
|
|
# 6. Upgrade pip
|
|
#echo "Upgrading pip..."
|
|
#pip install --upgrade pip
|
|
|
|
# 7. Install packages offline
|
|
echo ""
|
|
echo "Installing from $LIBS_FOLDER..."
|
|
pip install --no-index --no-deps --find-links $LIBS_FOLDER/ $LIBS_FOLDER/*.whl
|
|
|
|
echo ""
|
|
echo "✅ Installation completed!"
|
|
echo ""
|
|
echo "Next steps:"
|
|
echo "1. source .venv/bin/activate"
|
|
echo "2. ./run_app.sh"
|