El uso de ambientes virtuales permite isolar las dependencias del proyecto de otras instaladas en las carpetas de sistemas. Cada .venv
contiene su propia version de los binarios de Python y sus dependencias. A continuación una simple demostración de como se podria organizar venv para compartir el proyecto de forma efectiva.
Crear la carpeta del proyecto
mkdir mi_proyecto
cd mi_proyecto
Preparar el ambiente y activarlo
python3 -m venv .venv
source .venv/bin/activate
Chequear que está activado
which python pip
/Users/arjones/mi_proyecto/.venv/bin/python
/Users/arjones/mi_proyecto/.venv/bin/pip
Instalar dependencias
pip install --upgrade pip
pip install pandas numpy scikit-learn jupyter
Hay que activar los nuevos clients (como jupyter)
source .venv/bin/activate
which jupyter
Congelar dependencias
pip freeze > requirements.txt
Iniciar el repositorio git
curl -o .gitignore https://raw.githubusercontent.com/github/gitignore/master/Python.gitignore
git init
git add .
git commit -m 'Initial commit'
Happy Coding :)