mirror of
https://git.axenov.dev/mirrors/cursor-free-vip.git
synced 2025-12-26 13:40:39 +03:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f03a380f9d |
113
scripts/install_local.sh
Executable file
113
scripts/install_local.sh
Executable file
@@ -0,0 +1,113 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Color definitions
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
CYAN='\033[0;36m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Logo
|
||||
print_logo() {
|
||||
echo -e "${CYAN}"
|
||||
cat << "EOF"
|
||||
██████╗██╗ ██╗██████╗ ███████╗ ██████╗ ██████╗ ██████╗ ██████╗ ██████╗
|
||||
██╔════╝██║ ██║██╔══██╗██╔════╝██╔═══██╗██╔══██╗ ██╔══██╗██╔══██╗██╔═══██╗
|
||||
██║ ██║ ██║██████╔╝███████╗██║ ██║██████╔╝ ██████╔╝██████╔╝██║ ██║
|
||||
██║ ██║ ██║██╔══██╗╚════██║██║ ██║██╔══██╗ ██╔═══╝ ██╔══██╗██║ ██║
|
||||
╚██████╗╚██████╔╝██║ ██║███████║╚██████╔╝██║ ██║ ██║ ██║ ██║╚██████╔╝
|
||||
╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝
|
||||
EOF
|
||||
echo -e "${NC}"
|
||||
}
|
||||
|
||||
# Get script directory
|
||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
PROJECT_DIR="$( cd "${SCRIPT_DIR}/.." && pwd )"
|
||||
|
||||
# Check if Python is installed
|
||||
check_python() {
|
||||
echo -e "${CYAN}ℹ️ Проверка установки Python...${NC}"
|
||||
|
||||
if command -v python3 &> /dev/null; then
|
||||
PYTHON_CMD="python3"
|
||||
PYTHON_VERSION=$(python3 --version 2>&1 | awk '{print $2}')
|
||||
echo -e "${GREEN}✅ Найден Python: ${PYTHON_VERSION}${NC}"
|
||||
return 0
|
||||
elif command -v python &> /dev/null; then
|
||||
PYTHON_CMD="python"
|
||||
PYTHON_VERSION=$(python --version 2>&1 | awk '{print $2}')
|
||||
echo -e "${GREEN}✅ Найден Python: ${PYTHON_VERSION}${NC}"
|
||||
return 0
|
||||
else
|
||||
echo -e "${RED}❌ Python не установлен${NC}"
|
||||
echo -e "${YELLOW}Пожалуйста, установите Python 3.8 или выше${NC}"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Check and install dependencies
|
||||
check_dependencies() {
|
||||
echo -e "${CYAN}ℹ️ Проверка зависимостей...${NC}"
|
||||
|
||||
if [ ! -f "${PROJECT_DIR}/requirements.txt" ]; then
|
||||
echo -e "${RED}❌ Файл requirements.txt не найден${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if virtual environment exists
|
||||
if [ ! -d "${PROJECT_DIR}/venv" ]; then
|
||||
echo -e "${YELLOW}⚠️ Виртуальное окружение не найдено. Создание...${NC}"
|
||||
$PYTHON_CMD -m venv "${PROJECT_DIR}/venv"
|
||||
echo -e "${GREEN}✅ Виртуальное окружение создано${NC}"
|
||||
fi
|
||||
|
||||
# Activate virtual environment
|
||||
source "${PROJECT_DIR}/venv/bin/activate"
|
||||
|
||||
# Install/update dependencies
|
||||
echo -e "${CYAN}ℹ️ Установка зависимостей...${NC}"
|
||||
pip install -q --upgrade pip
|
||||
pip install -q -r "${PROJECT_DIR}/requirements.txt"
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo -e "${GREEN}✅ Все зависимости установлены${NC}"
|
||||
else
|
||||
echo -e "${RED}❌ Ошибка при установке зависимостей${NC}"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Run the main script
|
||||
run_script() {
|
||||
echo -e "${CYAN}ℹ️ Запуск Cursor Free VIP...${NC}"
|
||||
|
||||
# Check if running with sudo on Linux
|
||||
if [ "$(uname)" == "Linux" ] && [ "$EUID" -ne 0 ]; then
|
||||
echo -e "${YELLOW}⚠️ Рекомендуется запускать с правами администратора${NC}"
|
||||
echo -e "${CYAN}ℹ️ Попытка запуска с sudo...${NC}"
|
||||
sudo "${PROJECT_DIR}/venv/bin/python" "${PROJECT_DIR}/main.py"
|
||||
else
|
||||
"${PROJECT_DIR}/venv/bin/python" "${PROJECT_DIR}/main.py"
|
||||
fi
|
||||
}
|
||||
|
||||
# Main program
|
||||
main() {
|
||||
print_logo
|
||||
|
||||
# Check if we're in the right directory
|
||||
if [ ! -f "${PROJECT_DIR}/main.py" ]; then
|
||||
echo -e "${RED}❌ main.py не найден в ${PROJECT_DIR}${NC}"
|
||||
echo -e "${YELLOW}Убедитесь, что скрипт запущен из директории проекта${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
check_python
|
||||
check_dependencies
|
||||
run_script
|
||||
}
|
||||
|
||||
# Run main program
|
||||
main
|
||||
Reference in New Issue
Block a user