我正在开发一个 cookiecutter 模板。我的模板有一些依赖项。例如,在
hooks/post_gen_project.py
中,我想使用 rich.print
显示一条消息。怎样才能满足这样的要求呢?
此外,我见过许多 cookiecutter 模板,其根目录中包含
setup.py
、pyproject.toml
或 setup.cfg
文件。这有什么意义?起初,我认为这可能是向我的模板添加依赖项的一种方法,但这不起作用,并且想知道其背后的整个想法。 不幸的是,cookiecutter 的文档描述所有这些概念和细节都很薄弱!
谢谢。
一种做法是在
pre_gen_project.py
挂钩文件中安装依赖项。
try:
import rich
except ModuleNotFoundError:
import subprocess
subprocess.run(
[
"pip",
"install",
"--disable-pip-version-check",
"--no-python-version-warning",
"-q",
"rich",
]
)
这样,在
post_gen_project
被触发之前,它会安装 rich
,这样我就可以在 rich.print
中使用 post_gen_project.py
,没有任何问题。