KoljaB / Linguflex

Command Your World with Voice
344 stars 41 forks source link

Install instructions for Macos #8

Open zefram-cochrane opened 2 months ago

zefram-cochrane commented 2 months ago

I and my GPT-4o assistant did some suffering to get a macos install. I asked her to summarize and she gave these insrtuctions:

Installation Instructions for Linguflex on macOS Install Homebrew if not already installed:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" Install pyenv and pyenv-virtualenv:

brew install pyenv pyenv-virtualenv Configure your shell (add to .zshrc or .bashrc):

export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init --path)" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)" Restart your shell:

exec "$SHELL" Install Python 3.10.5:

pyenv install 3.10.5 pyenv global 3.10.5 Create a virtual environment:

pyenv virtualenv 3.10.5 linguflex-full-env pyenv activate linguflex-full-env Download and navigate to the Linguflex directory:

git clone cd Linguflex Install requirements:

pip install -r requirements.txt Address dependency conflicts:

pip install numpy==1.22.4 pip install inflect==5.6.0 pip install gradio-client==0.17.0 pip install websockets==11.0.3 Install onnxruntime:

pip install onnxruntime==1.18.0 Install PyTorch (compatible with macOS):

pip install torch==2.1.2 torchaudio==2.1.2 --index-url https://download.pytorch.org/whl/cu118 Install deepspeed:

pip install py-cpuinfo pip install deepspeed Install llama-cpp-python:

pip install llama-cpp-python Download required models:

python download_models.py Additional Virtual Environments (optional): For specific packages with conflicting dependencies:

Create virtual environments: virtualenv -p python3 gradio-env-standalone source gradio-env-standalone/bin/activate pip install gradio==4.32.2 gradio-client==0.17.0 websockets==11.0.3

virtualenv -p python3 yt-dlp-env-standalone source yt-dlp-env-standalone/bin/activate pip install yt-dlp websockets==12.0 Notes: Ensure to set up separate virtual environments for conflicting dependencies. Adjust paths and URLs as needed depending on your specific setup and repository.

YMMV. Good luck!

KoljaB commented 2 months ago

Wow, that’s quite a detailed setup process! Just to confirm, you managed to get Linguflex working on macOS with these instructions?

zefram-cochrane commented 2 months ago

It was a lot of fiddling around. We got it built, but then discovered we'd built it on an x86 architecture instead of arm, which was a bit silly given we're building for my 2020 m1 8gb mac air. Going to give it another go now with the right architecture an will report back here on progress.

KoljaB commented 2 months ago

I can imagine that this wasn't easy. Providing some basic installation support on another major platfrom like MacOS would be a huge benefit for the project. Thank you for the support!