2012-02-10 18 views
7

Pakuję aplikację Python pod PIP, dostarczając plik setup.py. Podczas instalacji chcę zapytać użytkownika o kilka wartości (nazwa użytkownika, inne wartości konfiguracyjne), wartości te są następnie zapisywane w pliku konfiguracyjnym aplikacji zapisanym w katalogu użytkownika.Python setup.py: zapytaj o dane konfiguracyjne podczas konfiguracji

Czy istnieje specjalna metoda PIP/distutils, aby zapytać o te wartości konfiguracyjne podczas konfiguracji? czy mam po prostu użyć input zapytać użytkownika, jak poniżej:

#!/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'], 
    ) 

Albo powinienem opuścić prośbą o tych wartościach, a zamiast pozwolić użytkownikowi skonfigurować aplikację na pierwszym uruchomieniu?

Wiem, że wszystkie te sposoby są możliwe, ale czy są na to jakieś konwencje lub najlepsze praktyki? A może znasz popularny projekt Pythona, robiący podobne rzeczy, który jest dobrym przykładem?

+1

Nie sądzę, że istnieje "standard" dla takich rzeczy. Lubię opóźniać żądanie ustawień po instalacji, chyba że istnieją pewne ścieżki, które są wymagane do rzeczywistej instalacji. – Bogdan

+1

Nie należy używać fazy instalacji do interakcji użytkownika. Jeśli chcesz zapytać o coś od użytkownika, zrób to, gdy aplikacja jest uruchamiana po raz pierwszy. –

Odpowiedz

2

setup.py zapewnia bardzo prymitywny interfejs do instalowania pakietów Pythona. Możesz użyć config file lub utworzyć instalator GUI dla swojej aplikacji.

Innym sposobem jest budowanie pakietów zależnych od systemu operacyjnego (deb, rpm, msi dla systemu Windows) dla aplikacji.

Powiązane problemy