我正在开发一个Python package,它在首次使用时会为用户创建一个配置文件。在此设置阶段,在两次提示中要求用户输入。相应的调用位于模块的__init__.py
中。由于出现此提示,我在readthedocs上的构建失败(log)。
如何建立我的文档库?为什么readthedocs仍然尝试编译代码?
答案 0 :(得分:1)
问题是您要在conf.py
中导入模块:
project_root = os.path.dirname(cwd)
sys.path.insert(0, project_root)
import scopus # <-- imported
# General configuration
needs_sphinx = '1.3'
extensions = [
您的项目建设得不好。我认为仅导入模块不会引起提示是一个好主意。
import scopus ->
from scopus.utils import * ->
from scopus.utils.startup import * ->
....
if 'Authentication' not in config.sections():
set_authentication(config, CONFIG_FILE) # <-- cause prompt
....
另外,甚至更糟:
CONFIG_FILE = os.path.expanduser("~/.scopus/config.ini")
config = configparser.ConfigParser()
config.optionxform = str
config.read(CONFIG_FILE)
读取文件系统。