install_python_dependencies.sh 987 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/usr/bin/env bash
  2. set -e
  3. # Increase the pip timeout to handle TimeoutError
  4. export PIP_DEFAULT_TIMEOUT=200
  5. DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
  6. ROOT=$DIR/../
  7. cd $ROOT
  8. # updating uv on macOS results in 403 sometimes
  9. function update_uv() {
  10. for i in $(seq 1 5);
  11. do
  12. if uv self update; then
  13. return 0
  14. else
  15. sleep 2
  16. fi
  17. done
  18. echo "Failed to update uv 5 times!"
  19. }
  20. if ! command -v "uv" > /dev/null 2>&1; then
  21. echo "installing uv..."
  22. curl -LsSf https://astral.sh/uv/install.sh | sh
  23. UV_BIN='$HOME/.cargo/env'
  24. ADD_PATH_CMD=". \"$UV_BIN\""
  25. eval $ADD_PATH_CMD
  26. fi
  27. echo "updating uv..."
  28. update_uv
  29. echo "installing python packages..."
  30. uv sync --frozen --all-extras
  31. source .venv/bin/activate
  32. echo "PYTHONPATH=${PWD}" > $ROOT/.env
  33. if [[ "$(uname)" == 'Darwin' ]]; then
  34. echo "# msgq doesn't work on mac" >> $ROOT/.env
  35. echo "export ZMQ=1" >> $ROOT/.env
  36. echo "export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES" >> $ROOT/.env
  37. fi