Solución:
En breve:
python3 setup.py sdist
python3 setup.py bdist_wheel
¿Cómo creo realmente una versión / distribución de un paquete de Python que usa una etiqueta git repo para el control de versiones, usando setuptools y pbr?
Los comandos habituales para crear distribuciones (fuente y rueda) de su paquete Python con herramientas de configuración están: python3 setup.py sdist
y python3 setup.py bdist_wheel
. Las distribuciones se pueden encontrar en el dist
directorio por defecto.
Dado que los documentos de setuptools se centran en configurar un paquete totalmente distribuible y reutilizable con PyPi y pip, y los documentos de pbr solo le dicen realmente cómo modificar la configuración de setuptools para usar pbr, no puedo encontrar la información sobre cómo ejecutar la distribución / versión. proceso.
Es cierto que herramientas de configuración no documenta esto. Solo documenta las diferencias para distutils
, y es realmente confuso. Consulte a continuación la documentación real …
Pero, ¿dónde está la información simple sobre cómo crear realmente la distribución?
- https://packaging.python.org/tutorials/packaging-projects/#generating-distribution-archives
- https://docs.python.org/3/distutils/sourcedist.html
- https://docs.python.org/3/distutils/builtdist.html
Actualizar
Dado que no planea publicar distribuciones de su proyecto en un índice como PyPIy planeas usar pyinstaller en su lugar, lo más probable es que pueda ignorar la herramientas de configuración comandos como sdist
y bdist_wheel
.
Aún así, es posible que desee conocer estos comandos para la fase de desarrollo:
- Utilice comandos como
python3 setup.py --version
,python3 setup.py --fullname
para averiguar si setuptools (y en su caso pbr) está captando la información correcta. - Usar
python3 setup.py develop
(opip install --editable .
) para colocar un pseudoenlace (egg-link
) en tus paquetes de sitio que apunta a su trabajo en progreso. De esta manera tus cambios son siempre instalado e importable. Importante: no usepython3 setup.py install
, esto copiaría la versión actual a paquetes de sitio y los cambios más nuevos no serían importables.
Ahora no sé cómo funcionará todo esto una vez que pases a pyinstaller. Especialmente desde que mencionaste que quieres el metainformación (como el número de versión) para que sea visible desde sus scripts. La técnica con herramientas de configuración pkg_resources
puede o no puede funcionar en el pyinstaller contexto.