2012-02-10 1 views
7

Я упакую приложение Python с помощью , предоставляя setup.py. Во время установки я хочу задать пользователю несколько значений (имя пользователя, другие значения конфигурации), эти значения затем сохраняются в конфигурационном файле приложения, хранящемся в каталоге пользователя.Python setup.py: запросить данные конфигурации во время установки

Есть ли специальный способ PIP/distutils для запроса этих значений конфигурации во время настройки? Или я просто использовать input спросить у пользователя, как это:

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

Или я должен уйти из просить за эти ценности, и вместо того, чтобы позволить пользователю настроить приложение на первом запуске?

Я знаю, что все эти способы возможны, но существуют ли какие-либо соглашения или рекомендации для этого? Или вы знаете о популярном проекте Python, который делает подобный материал, что является хорошим примером?

+1

Я не думаю, что есть такие «стандарты» для таких вещей. Мне нравится откладывать запрос настроек до тех пор, пока не будет установлен какой-либо путь, необходимый для фактической установки. – Bogdan

+1

Вы не должны использовать фазу установки для взаимодействия с пользователем. Если вы хотите что-то спросить у пользователя, сделайте это, когда приложение будет запущено в первый раз. –

ответ

2

setup.py обеспечивает очень примитивный интерфейс для установки пакетов python. Вы можете использовать config file или создать какой-то графический инсталлятор для вашего приложения.

Другой способ - создать для вашего приложения пакеты, зависящие от ОС (deb, rpm, msi для Windows).