Python setup.py:在安装过程中请求配置数据

Python setup.py:在安装过程中请求配置数据,python,pip,distutils,easy-install,Python,Pip,Distutils,Easy Install,我将Python应用程序打包为,提供setup.py。 在安装过程中,我想向用户询问几个值(用户名、其他配置值),然后将这些值保存在存储在用户目录中的应用程序配置文件中 是否有特殊的PIP/distutils方法在设置期间请求这些配置值? 或者我应该使用input询问用户,如下所示: #!/usr/bin/env python from distutils.core import setup cfg['name'] = input("Please your username:") cfg.s

我将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='author@author.net',
      packages=['mypackage'],
     )
或者我应该不询问这些值,而是让用户在第一次启动时配置应用程序


我知道所有这些方法都是可能的,但有没有任何惯例或最佳实践?或者您知道有一个流行的Python项目在做类似的事情,这是一个很好的例子吗?

setup.py为您提供了非常原始的界面来安装Python软件包。您可以为应用程序使用或创建一些GUI安装程序


另一种方法是为您的应用程序构建依赖于操作系统的软件包(deb、rpm、msi for Windows)。

我认为这样的东西没有“标准”。除非实际安装需要一些路径,否则我喜欢将请求设置延迟到安装之后。您不应该使用安装阶段进行用户交互。如果您想向用户询问一些事情,请在应用程序第一次运行时执行。