setup example create python virtualenv pip setup.py

example - Diferencia entre ''python setup.py install'' e ''pip install''



python setuptools setup (2)

En la superficie, ambos hacen lo mismo: hacer python setup.py install o pip install <PACKAGE-NAME> instalará su paquete de Python para usted, con un mínimo de alboroto.

Sin embargo, usar pip ofrece algunas ventajas adicionales que lo hacen mucho más agradable de usar.

  • pip descargará automáticamente todas las dependencias de un paquete para usted. Por el contrario, si usa setup.py , a menudo tiene que buscar manualmente y descargar dependencias, lo que es tedioso y puede llegar a ser frustrante.
  • pip realiza un seguimiento de varios metadatos que le permiten desinstalar y actualizar fácilmente paquetes con un solo comando: pip uninstall <PACKAGE-NAME> y pip install --upgrade <PACKAGE-NAME> . Por el contrario, si instala un paquete con setup.py , debe eliminar manualmente y mantener un paquete a mano si desea deshacerse de él, lo que podría ser propenso a errores.
  • Ya no tiene que descargar manualmente sus archivos. Si usa setup.py , debe visitar el sitio web de la biblioteca, averiguar dónde descargarlo, extraer el archivo, ejecutar setup.py ... Por el contrario, pip buscará automáticamente el Python Package Index (PyPi) para ver si el paquete existe allí, y automáticamente descargará, extraerá e instalará el paquete por usted. Con algunas excepciones, casi todas las bibliotecas de Python genuinamente útiles se pueden encontrar en PyPi.
  • pip te permitirá instalar ruedas fácilmente , que es el nuevo estándar de distribución de Python. Más información sobre ruedas .
  • pip ofrece beneficios adicionales que se integran bien con el uso de virtualenv , que es un programa que le permite ejecutar múltiples proyectos que requieren bibliotecas conflictivas y versiones de Python en su computadora. Más información
  • pip se incluye de forma predeterminada con Python desde Python 2.7.9 en la serie Python 2.x, y desde Python 3.4.0 en la serie Python 3.x, lo que lo hace aún más fácil de usar.

Entonces, básicamente, usa pip. Solo ofrece mejoras sobre el uso de la instalación de python setup.py install .

Si está utilizando una versión anterior de Python, no puede actualizar y no tiene instalado pip, puede encontrar más información sobre la instalación de pip en los siguientes enlaces:

pip, en sí mismo, realmente no requiere un tutorial. El 90% del tiempo, el único comando que realmente necesita es la pip install <PACKAGE-NAME> . Dicho esto, si está interesado en obtener más información sobre los detalles de qué es exactamente lo que puede hacer con pip, consulte:

También se recomienda comúnmente que use pip y virtualenv juntos. Si eres un principiante de Python, personalmente creo que estaría bien comenzar utilizando solo pip e instalar paquetes de forma global, pero finalmente creo que deberías hacer la transición al uso de virtualenv para enfrentar proyectos más serios.

Si desea obtener más información sobre el uso de pip y virtualenv juntos, consulte:

Tengo un paquete externo que quiero instalar en mi python virtualenv desde un archivo tar. ¿Cuál es la mejor manera de instalar el paquete?

Descubrí dos formas de hacerlo: 1) Extraiga el archivo tar, luego ejecute ''python setup.py install'' dentro del directorio extraído. 2) ''pip install packagename.tar.gz'' del ejemplo # 7 en https://pip.pypa.io/en/stable/reference/pip_install/#examples

Es si hay alguna diferencia al hacerlo de estas 2 formas.


python setup.py install es el análogo de make install: es una forma limitada de compilar y copiar archivos en los directorios de destino. Esto no significa que sea la mejor manera de instalar realmente el software en su sistema.

pip es un administrador de paquetes, que puede instalar, actualizar, enumerar y desinstalar paquetes, como los administradores de paquetes familiares, incluidos: dpkg, apt, yum, urpmi, ports etc. Bajo el capó, se ejecutará la instalación de python setup.py install , pero con opciones para controlar cómo y dónde terminan las cosas instaladas.

En resumen: use pip .