Python setup.py desarrollar vs instalar
Dos opciones en setup.py develop
y install
me confunden. Según este sitio , el uso develop
crea un enlace especial al directorio de paquetes del sitio.
La gente me ha sugerido que lo use python setup.py install
para una instalación nueva y python setup.py develop
después de realizar cualquier cambio en el archivo de instalación.
¿Alguien puede arrojar algo de luz sobre el uso de estos comandos?
python setup.py install
se 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 develop
hace: 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.py
directamente 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 develop
contraparte del último python -m build
enfoque es la siguiente ( según ):
De la documentación . No develop
instalará el paquete, pero creará un .egg-link
directorio de implementación en el directorio del código fuente del proyecto.
Entonces es como instalar, pero en lugar de copiar, site-packages
agrega un enlace simbólico ( .egg-link
actú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
Otra cosa que las personas pueden encontrar útil al usar este develop
método es la --user
opción de instalar sin sudo. Ex:
python setup.py develop --user
en lugar de
sudo python setup.py develop