将自定义操作添加到setup.py

问题描述

我的项目结构如下:

Project/
    Project/
        __init__.py
        config.py
    setup.py
    .gitignore

config.py包含两个变量(LOGINPASS),并添加.gitignore中。

我想在setup.py添加自定义操作,然后运行python setup.py install,而不是在安装软件包之前触发使用某些config.py创建inputs("Please write your login/pass")的情况。

如何正确处理?

解决方法

安装时进行任何自定义不是一个好主意。在运行时(通常是在第一次运行开始时)进行自定义是一种好习惯。

在程序开始时,您应该检查登录 pass 是否可用。如果 login pass 不可用,则要求用户输入它们并将值保存在文件中。通常,此类文件应保存在用户配置目录中。通常,您会使用appdirs库来获取此类文件的正确位置。

类似的东西:

import pathlib

import appdirs

user_config_dir = appdirs.user_config_dir('MyApp','tibhar940')
user_config_path = pathlib.Path(user_config_dir,'config.cfg')

if user_config_path.is_file():
    # read
else:
    # prompt the user and save in file

相关