| """ | |
| QEMU Installation Helper Script | |
| This script helps install QEMU and its Python dependencies | |
| """ | |
| import subprocess | |
| import sys | |
| import os | |
| import platform | |
| from pathlib import Path | |
| def check_qemu_installation(): | |
| """Check if QEMU is installed""" | |
| try: | |
| result = subprocess.run(['qemu-system-x86_64', '--version'], | |
| capture_output=True, text=True) | |
| if result.returncode == 0: | |
| print(f"QEMU is installed: {result.stdout.split()[3]}") | |
| return True | |
| except FileNotFoundError: | |
| return False | |
| return False | |
| def install_qemu_windows(): | |
| """Install QEMU on Windows""" | |
| print("Please install QEMU manually on Windows:") | |
| print("1. Download QEMU installer from https://qemu.weilnetz.de/w64/") | |
| print("2. Run the installer") | |
| print("3. Add QEMU to your PATH") | |
| print("\nAfter installation, run this script again to verify the installation") | |
| def install_qemu_linux(): | |
| """Install QEMU on Linux""" | |
| try: | |
| subprocess.run(['sudo', 'apt-get', 'update'], check=True) | |
| subprocess.run(['sudo', 'apt-get', 'install', '-y', | |
| 'qemu-system-x86', | |
| 'qemu-utils', | |
| 'qemu-system-common', | |
| 'libvirt-dev'], check=True) | |
| except subprocess.CalledProcessError as e: | |
| print(f"Error installing QEMU: {e}") | |
| sys.exit(1) | |
| def install_python_dependencies(): | |
| """Install Python dependencies""" | |
| requirements_path = Path(__file__).parent / 'requirements.txt' | |
| try: | |
| subprocess.run([sys.executable, '-m', 'pip', 'install', '-r', | |
| str(requirements_path)], check=True) | |
| print("Python dependencies installed successfully") | |
| except subprocess.CalledProcessError as e: | |
| print(f"Error installing Python dependencies: {e}") | |
| sys.exit(1) | |
| def main(): | |
| """Main installation function""" | |
| system = platform.system().lower() | |
| print("Checking QEMU installation...") | |
| if not check_qemu_installation(): | |
| print("QEMU is not installed") | |
| if system == 'windows': | |
| install_qemu_windows() | |
| elif system == 'linux': | |
| install_qemu_linux() | |
| else: | |
| print(f"Unsupported system: {system}") | |
| sys.exit(1) | |
| print("\nInstalling Python dependencies...") | |
| install_python_dependencies() | |
| print("\nVerifying installation...") | |
| if check_qemu_installation(): | |
| print("QEMU installation verified successfully") | |
| else: | |
| print("QEMU installation verification failed") | |
| sys.exit(1) | |
| if __name__ == '__main__': | |
| main() | |