2012-02-10 10 views
7

I pacchetto la mia applicazione Python con PIP, fornendo un setup.py. Durante l'installazione, voglio chiedere all'utente diversi valori (nome utente, altri valori di configurazione), questi valori vengono quindi salvati all'interno del configfile dell'applicazione memorizzato all'interno della directory utente.Python setup.py: chiedere i dati di configurazione durante l'installazione

C'è un modo speciale PIP/distutils per richiedere questi valori di configurazione durante l'installazione? O devo solo usare input per chiedere all'utente, in questo modo:

#!/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 dovrei lasciare fuori a chiedere per questi valori, e invece consentire all'utente di configurare l'applicazione al primo avvio?

So che tutti questi modi sono possibili, ma esistono convenzioni o migliori pratiche? O conosci un famoso progetto Python che fa cose simili che è un buon esempio?

+1

Non penso ci sia uno "standard" per cose come questa. Mi piace ritardare la richiesta di impostazioni fino a dopo l'installazione a meno che non ci siano alcuni percorsi richiesti per l'installazione effettiva. – Bogdan

+1

Non si dovrebbe usare la fase di installazione per l'interazione dell'utente. Se vuoi chiedere qualcosa all'utente, fallo quando l'applicazione viene eseguita per la prima volta. –

risposta

2

setup.py fornisce un'interfaccia molto primitiva per installare pacchetti Python. È possibile utilizzare un config file o creare un programma di installazione della GUI per la propria applicazione.

Un altro modo è creare pacchetti dipendenti dal sistema operativo (deb, rpm, msi per Windows) per l'applicazione.

Problemi correlati