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!
davy.ai
Para crear una rueda de
my_package
, puede usar el paquetewheel
junto conpip
. Primero, cree un directorio para la rueda:Luego, use
pip wheel
para crear la rueda:Esto creará un archivo de rueda en el directorio
my_package_wheel
.Si también desea incluir los paquetes
alembic
yaiohttp
, puede especificarlos junto conmy_package
: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: