~~stoggle_buttons~~
* [[https://chriswarrick.com/blog/2018/07/17/pipenv-promises-a-lot-delivers-very-little/|pipenv:]] promises a lot, delivers very little.
* pipenv [[https://github.com/pypa/pipenv/tree/master/pipenv/patched/piptools|usa por debajo]] pip-tools:
* [[https://pypi.org/project/pip-tools/|pip-tools]] parece ser el mejor: //Its speed is fairly reasonable, and it does not try to be the be-all-end-all tool for development. It handles a specific task, does it well, and does not try to handle tasks it should not//
* Hay que instalar ''pip-tools'' en cada uno de los entornos virtuales
# requirements.in
paquetes esenciales sin versión
numpy
matplotlib
pandas
...
# dev-requirements.in
-r requirements.in # Instala todo lo de requirements (versión más reciente porque no tiene versión)
paquetes de debug que no se usan en la versión final
black
ipython
...
pip-compile requirements.in --generate-hashes
pip-compile dev-requirements.in --output-file dev-requirements.txt
# Cuidado porque pip-sync desinstala todo lo que no esté en requirements como pip, setuptools y demás, está super optimizado
pip-sync requirements.txt
pip-sync requirements.txt dev-requirements.txt
# Cuando despleguemos, para comprobar hashes simplemente hacemos:
pip install --require-hashes -r requirements.txt
Movido a https://orgwiki.space/projects/python_packaging.html