Python setup.py desarrollar vs instalar

Resuelto Netro asked hace 10 años • 3 respuestas

Dos opciones en setup.py developy installme confunden. Según este sitio , el uso developcrea un enlace especial al directorio de paquetes del sitio.

La gente me ha sugerido que lo use python setup.py installpara una instalación nueva y python setup.py developdespués de realizar cualquier cambio en el archivo de instalación.

¿Alguien puede arrojar algo de luz sobre el uso de estos comandos?

Netro avatar Sep 27 '13 17:09 Netro
Aceptado

python setup.py installse utiliza para instalar paquetes (normalmente de terceros) que no va a desarrollar/modificar/depurar usted mismo.

Para sus propias cosas, primero desea instalar su paquete y luego poder editar el código con frecuencia sin tener que reinstalar el paquete cada vez, y eso es exactamente lo que python setup.py develophace: instala el paquete (normalmente solo una carpeta de origen). de una manera que le permita editar cómodamente su código después de instalarlo en el entorno (virtual) y que los cambios surtan efecto inmediatamente.


Nota: Se recomienda encarecidamente utilizar pip install .(instalación regular) e pip install -e .(instalación de desarrollador) para instalar paquetes, ya que invocar setup.pydirectamente hará cosas incorrectas para muchas dependencias, como extraer versiones preliminares y versiones de paquetes incompatibles, o dificultar la desinstalación del paquete. pip.

Actualizar:

La developcontraparte del último python -m buildenfoque es la siguiente ( según ):

ingrese la descripción de la imagen aquí

Erik Kaplun avatar Sep 27 '2013 10:09 Erik Kaplun

De la documentación . No developinstalará el paquete, pero creará un .egg-linkdirectorio de implementación en el directorio del código fuente del proyecto.

Entonces es como instalar, pero en lugar de copiar, site-packagesagrega un enlace simbólico ( .egg-linkactúa como un enlace simbólico multiplataforma).

De esa manera puedes editar el código fuente y ver los cambios directamente sin tener que reinstalar cada vez que realizas un pequeño cambio. Esto es útil cuando eres el desarrollador de ese proyecto, de ahí el nombre develop. Si simplemente está instalando el paquete de otra persona, debe usarinstall

RubenLaguna avatar Oct 27 '2014 13:10 RubenLaguna

Otra cosa que las personas pueden encontrar útil al usar este developmétodo es la --useropción de instalar sin sudo. Ex:

python setup.py develop --user

en lugar de

sudo python setup.py develop
K.S. avatar Nov 14 '2016 21:11 K.S.