.. pipenv documentation master file, created by
sphinx-quickstart on Mon Jan 30 13:28:36 2017.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Pipenv: Flujo de trabajo en Python para humanos.
======================================
.. image:: https://img.shields.io/pypi/v/pipenv.svg
:target: https://pypi.python.org/pypi/pipenv
.. image:: https://img.shields.io/pypi/l/pipenv.svg
:target: https://pypi.python.org/pypi/pipenv
.. image:: https://img.shields.io/pypi/pyversions/pipenv.svg
:target: https://pypi.python.org/pypi/pipenv
.. image:: https://img.shields.io/badge/Say%20Thanks!-🦉-1EAEDB.svg
:target: https://saythanks.io/to/kennethreitz
---------------
**Pipenv** es una herramienta que apunta a traer todo lo mejor del mundo de empaquetado (bundler, composer, npm, cargo, yarn, etc.) al mundo de Python. *Windows es un ciudadano primera-clase en nuestro mundo*
Automáticamente crea y maneja un entorno virtual para tus proyectos, también como agregar/remover paquetes desde tu ``Pipfile`` como instalar/desisntalar paquetes. También genera el más importante ``Pipfile.lock``, que es usado para producir determinado build.
Pipenv está destinado principalmente a proporcionar a usuarios y desarrolladores de aplicaciones con un metodo sencillo para configurar un entorno de trabajo. Para la distinción entre librerias y aplicaciones y el uso de ``setup.py`` vs ``Pipfile`` para definir dependencias, mira :ref:`pipfile-vs-setuppy`.
.. raw:: html
Los problemas que Pipenv busca resolver son multifacéticos
- No necesitas usar más ``pip`` y ``virtualenv`` separados. Trabajan juntos.
- Manejar un archivo ``requirements.txt`` `puede ser problemático `_, por eso Pipenv usa en su lugar ``Pipfile`` y ``Pipfile.lock``, que son superiores para usos básicos
- Los Hashes se usan en todas partes, siempre. Seguridad. Automáticamente expone vulnerabilidades de seguridad.
- Te da una vista de tu árbol de dependecias (e.g. ``$ pipenv graph``).
- Coordina el flujo de desarrollo cargando archivos ``.env``.
¡Instala hoy Pipenv!
---------------------
Si estas en MacOS, puedes instalar Pipenv fácilmente con Homebrew::
$ brew install pipenv
O, si estás usando Ubuntu 17.10::
$ sudo apt install software-properties-common python-software-properties
$ sudo add-apt-repository ppa:pypa/ppa
$ sudo apt update
$ sudo apt install pipenv
De lo contrario, solo usa pip::
$ pip install pipenv
✨🍰✨
.. toctree::
:maxdepth: 2
install
Testimonios de Usuarios
-----------------
**Jannis Leidel**, former pip maintainer—
*Pipenv is the porcelain I always wanted to build for pip. It fits my brain and mostly replaces virtualenvwrapper and manual pip calls for me. Use it.*
**David Gang**—
*This package manager is really awesome. For the first time I know exactly what my dependencies are which I installed and what the transitive dependencies are. Combined with the fact that installs are deterministic, makes this package manager first class, like cargo*.
**Justin Myles Holmes**—
*Pipenv is finally an abstraction meant to engage the mind instead of merely the filesystem.*
☤ Características de Pipenv
-----------------
- Habilita verdaderos *builds deterministas*, mientras fácilmente especificas *solo lo que quieres*.
- Genera y verifica hashes en los archivos para bloquear dependencias.
- Automáticamente instala la versión de Python, si ``pyenv`` esta disponible
- Automáticamente busca tu proyecto home, recursivamente, buscando por un ``Pipfile``
- Automáticamente genera un ``Pipfile``, si no existe
- Automáticamente crea un entorno virtual en una locación estándar
- Automáticamente agrega/remueve paquetes a un ``Pipfile`` cuando se instala/desinstala
- Automáticamente carga archivos ``.env``, si estos existen.
Los comandos principales son ``install``, ``uninstall`` and ``lock``, el cual genera un ``Pipfile.lock``. Estos tienen la intención de reemplazar el uso de ``$ pip install``, así como manejar manualmente un entorno virtual (para activar uno, corre ``$ pipenv shell``).
Conceptos Básicos
//////////////
- Un entorno virtual se creará automáticamente, cuando no exista.
- Cuando no se pasen parámetros a ``install``, todos los paquetes ``[packages]`` especificados se instalarán.
- Para iniciar un entorno virtual con Python 3, corre ``$ pipenv --three``.
- Para iniciar un entorno virtual con Python 2, corre ``$ pipenv --two``.
- De lo contrario, cualquier entorno virtual será por defecto.
Otros Comandos
//////////////
- ``graph`` va a imprimir un bonito árbol de todas tus dependencias instaladas.
- ``shell`` generará un shell con el entorno virtual activado.
- ``run`` va a correr el comando dado desde el entorno virtual, con algún argumento adelante (e.g. ``$ pipenv run python`` o ``$ pipenv run pip freeze``)
- ``check`` asegura que los requerimientos en PEP 508 se están cumpliendo en el entorno actual.
Más guías de documentación
----------------------------
.. toctree::
:maxdepth: 2
basics
advanced
diagnose
☤ Uso de Pipenv
--------------
.. click:: pipenv:cli
:prog: pipenv
:show-nested:
Indices y tablas
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`