es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Crear una “rueda de Python de ingeniería inversa” a partir de un paquete instalado mediante pip que no se encuentra en un índice de paquetes como PyPi.

La pregunta podría sonar un poco extraña porque crear “wheels” es un conocimiento estándar de Python.

Tenemos una situación especial en la que tenemos numerosos entornos Python diferentes con un paquete sin versión instalado my_package en algún momento. Así que tenemos múltiples instalaciones de este paquete con diferentes códigos subyacentes.

Ahora, el problema es que queremos reutilizar este paquete en otro proyecto. Por lo tanto, mi idea fue crear una “rueda” “reverse engineered”.

Digamos que tengo:

$ pip list
Paquete                            Versión
---------------------------------- -------------------
aiohttp                            3.7.4.post0
my_package                         0.0.1
alembic                            1.7.1

y quiero crear una “rueda” de my_package y posiblemente de los otros paquetes en el entorno.

¡Gracias de antemano por tu ayuda!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para crear una rueda de my_package, puede usar el paquete wheel junto con pip. Primero, cree un directorio para la rueda:

    $ mkdir my_package_wheel
    $ cd my_package_wheel
    

    Luego, use pip wheel para crear la rueda:

    $ pip wheel my_package
    

    Esto creará un archivo de rueda en el directorio my_package_wheel.

    Si también desea incluir los paquetes alembic y aiohttp, puede especificarlos junto con my_package:

    $ pip wheel my_package alembic aiohttp
    

    Esto creará un archivo de rueda para cada paquete en el directorio my_package_wheel.

    Tenga en cuenta que esto creará una rueda para la versión de cada paquete que actualmente está instalada en el entorno. Si desea crear una rueda para una versión específica de un paquete, puede usar pip download para descargar la distribución de origen de esa versión y luego crear una rueda a partir de la distribución de origen:

    $ pip download my_package==0.0.1
    $ pip wheel my_package-0.0.1.tar.gz
    

Comments are closed.