2012-02-10 14 views
7

Empaqueto mi aplicación Python con PIP, proporcionando un setup.py. Durante la instalación, quiero pedirle al usuario varios valores (nombre de usuario, otros valores de configuración), estos valores se guardan dentro del archivo de configuración de la aplicación almacenado dentro del directorio de usuario.Python setup.py: solicitar datos de configuración durante la configuración

¿Hay alguna forma especial de PIP/distutils para solicitar estos valores de configuración durante la instalación? O debo utilizar input para preguntar al usuario, así:

#!/usr/bin/env python 

from distutils.core import setup 

cfg['name'] = input("Please your username:") 
cfg.save() 

setup(name='appname', 
     version='1.0', 
     description='App Description', 
     author='Author', 
     author_email='[email protected]', 
     packages=['mypackage'], 
    ) 

O debería dejar de pedir estos valores, y en lugar de dejar que el usuario configure la aplicación de la primera apertura?

Sé que todas estas formas son posibles, pero ¿hay convenciones o mejores prácticas para eso? ¿O conoces un popular proyecto de Python haciendo algo similar, que es un buen ejemplo?

+1

No creo que haya un "estándar" para cosas como esta. Me gusta retrasar la solicitud de configuración hasta después de la instalación, a menos que haya algunas rutas necesarias para la instalación real. – Bogdan

+1

No debe usar la fase de instalación para la interacción del usuario. Si desea hacer una pregunta al usuario, hágalo cuando la aplicación se ejecute por primera vez. –

Respuesta

2

setup.py le proporciona una interfaz muy primitiva para instalar paquetes de Python. Puede usar un config file o crear un instalador de GUI para su aplicación.

Otra forma es crear paquetes dependientes del SO (deb, rpm, msi para Windows) para su aplicación.

Cuestiones relacionadas