Requirements:
- Python 3.8, 3.9, or 3.10 (NOT 3.11 or 3.12)
- uv package manager
If you don't have uv installed:
curl -LsSf https://astral.sh/uv/install.sh | shOr on macOS with Homebrew:
brew install uvgit clone https://github.com/llorracc/Q-Investment.git
cd Q-Investment
./INSTALL.sh
source .venv/bin/activateThe script will:
- Create a virtual environment with Python 3.10
- Install dolo (bypassing its conflicting metadata)
- Install Q-Investment with all dependencies
python -c "from Qmod import Qmod; from dolo import yaml_import; print('✅ Works!')"jupyter notebook Examples/pytest tests/Install uv first (see above).
The script requires Python 3.10. Install it:
macOS (using Homebrew):
brew install python@3.10Ubuntu/Debian:
sudo apt update
sudo apt install python3.10 python3.10-venvUsing pyenv:
pyenv install 3.10.13
pyenv local 3.10.13You're using Python 3.11 or 3.12. This package requires Python 3.10 or earlier due to old dependencies (numba, numpy versions needed for Dolo).
If the script doesn't work, run the commands manually:
cd Q-Investment
uv venv --python 3.10
uv pip install --no-deps dolo==0.4.9.12
uv pip install -e ".[dolo,dev]"
source .venv/bin/activateMake sure you installed with the script or included .[dolo] in the installation.
This project depends on:
numba 0.56.4- released before Python 3.11 existednumpy <1.25- required for numba compatibilitydolo 0.4.9.12- unmaintained package from 2020
These packages don't support Python 3.11+.
Dolo's package metadata declares quantecon<0.5 but Python 3.10 requires quantecon>=0.10 (the gcd function moved from fractions to math). Installing dolo with --no-deps bypasses this metadata conflict. The newer versions work fine at runtime.
If you encounter issues:
- Check that you're using Python 3.8-3.10
- Verify uv is installed:
uv --version - Try the manual installation steps above
- Check for error messages about missing system dependencies