# One Click Installers for MacOS This document provide the details to build one click installers for MacOS. To manually build h2ogpt on MacOS follow steps at [README_MACOS.md](../../docs/README_MACOS.md). **Note**: Experimental and still under development. ## Prerequisite - Need conda installed inorder to run the build script. - We use `PyInstaller` to build one click installer, it doesn't support cross platform builds. So the installers can be only built from Mac Machines. - Install tesseract & poppler on your Mac Machine ## Build ### Debug Mode (for one click installer developers) - Clone `h2ogpt` from https://github.com/h2oai/h2ogpt.git - Create conda environment and installer all required dependencies, consult [build_mac_installer.sh](build_mac_installer.sh) for more details. - Run below commands to build the spec file for installer, replace the `--name` appropriately depending on whether building for CPU only or with MPS (GPU) support ```shell cd h2ogpt pyi-makespec mac_run_app.py -F --name=h2ogpt-osx-m1-cpu \ --hidden-import=h2ogpt \ --collect-all=h2ogpt \ --recursive-copy-metadata=transformers \ --collect-data=langchain \ --collect-data=gradio_client \ --collect-all=gradio \ --collect-all=sentencepiece \ --collect-all=gradio_pdf \ --collect-all=llama_cpp \ --collect-all=tiktoken_ext \ --add-data=../../Tesseract-OCR:Tesseract-OCR \ --add-data=../../poppler:poppler ``` - Edit the `h2ogpt-osx-m1-cpu.spec` and/or `h2ogpt-osx-m1-gpu.spec` and add below code block to `Analysis()`, to explicitly tell PyInstaller to collect all `.py` modules from listed dependencies. ``` module_collection_mode={ 'gradio' : 'py', 'gradio_pdf' : 'py', }, ``` - Run `pyinstaller h2ogpt-osx-m1-cpu.spec` to build the installer. ### Deployment Mode - Clone `h2ogpt` from https://github.com/h2oai/h2ogpt.git - For CPU only installer, run below commands to build the installer ```shell cd h2ogpt . ./dev_installers/mac/build_mac_installer.sh ``` - For MPS (GPU) supported installer, run below commands to build the installer ```shell cd h2ogpt BUILD_MPS=1 . ./dev_installers/mac/build_mac_installer.sh ``` ## Run From MacOS finder, go to `h2ogpt/dist/` and double-click on the installer (i.e `h2ogpt-osx-m1-cpu`).