Added virtual environment for python

This commit is contained in:
Kevin Veen-Birkenbach
2025-04-27 22:38:52 +02:00
parent 7b36c40752
commit e20b8cd884
2 changed files with 19 additions and 3 deletions

View File

@@ -6,5 +6,21 @@ setup: install
install:
@echo "Making 'main.py' executable..."
@chmod +x main.py
@echo "Installing packages from 'requirements.txt'..."
@pip install -r requirements.txt --break-system-packages
@echo "Checking if global user virtual environment exists..."
@test -d ~/.venvs/pkgmgr || (echo "Creating global venv at ~/.venvs/pkgmgr..." && python -m venv ~/.venvs/pkgmgr)
@echo "Installing required Python packages into ~/.venvs/pkgmgr..."
@~/.venvs/pkgmgr/bin/pip install --upgrade pip
@~/.venvs/pkgmgr/bin/pip install -r requirements.txt
@echo "Ensuring automatic activation of ~/.venvs/pkgmgr for this user..."
@grep -qxF 'if [ -d "$$HOME/.venvs/pkgmgr" ]; then export VIRTUAL_ENV="$$HOME/.venvs/pkgmgr"; export PATH="$$VIRTUAL_ENV/bin:$$PATH"; unset PYTHONHOME; fi' ~/.bashrc || echo 'if [ -d "$$HOME/.venvs/pkgmgr" ]; then export VIRTUAL_ENV="$$HOME/.venvs/pkgmgr"; export PATH="$$VIRTUAL_ENV/bin:$$PATH"; unset PYTHONHOME; fi' >> ~/.bashrc
@grep -qxF 'echo "Global Python virtual environment '\''~/.venvs/pkgmgr'\'' activated."' ~/.bashrc || echo 'echo "Global Python virtual environment '\''~/.venvs/pkgmgr'\'' activated."' >> ~/.bashrc
@echo "Installation complete. Please restart your shell (or 'exec bash') for the changes to take effect."
uninstall:
@echo "Removing global user virtual environment if it exists..."
@rm -rf ~/.venvs/pkgmgr
@echo "Cleaning up ~/.bashrc entries..."
@sed -i '/Global Python virtual environment '\''~\/.venvs\/pkgmgr'\'' activated\./d' ~/.bashrc
@sed -i '/if \[ -d "\$\$HOME\/\.venvs\/pkgmgr" \]; then export VIRTUAL_ENV="\$\$HOME\/\.venvs\/pkgmgr"; export PATH="\$\$VIRTUAL_ENV\/bin:\$\$PATH"; unset PYTHONHOME; fi/d' ~/.bashrc
@echo "Uninstallation complete. Please restart your shell (or 'exec bash') for the changes to fully apply."