2012-02-10 6 views
7

私はPythonアプリケーションをPIPでパッケージ化し、setup.pyを提供します。 インストール中に、ユーザーにいくつかの値(ユーザー名、その他の構成値)を要求したい場合、これらの値はユーザーディレクトリ内に格納されているアプリケーション構成ファイル内に保存されます。Python setup.py:セットアップ中に設定データを要求する

セットアップ中にこれらの設定値を要求する特別なPIP/distutils-wayはありますか? または私はちょうどこのように、ユーザーに依頼する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を使用することも、アプリケーション用のGUIインストーラを作成することもできます。

別の方法は、アプリケーションに依存するOS(Windows用のdeb、rpm、msi)を作成することです。

関連する問題