当我运行poetry new [directory]
时,它会在目录中生成一个pyproject.toml
,但我总是发现我对其进行了相同的初始更改,例如
如何更改这些默认值,以便在运行poetry new
时python和pytest具有所需的版本?
pyproject.toml
中指定的python版本是否基于系统的python版本?如果是这种情况,我认为我无法更改系统的python版本,因为我使用的是Mac,这可能会弄乱我的OS。或者可以吗?
答案 0 :(得分:2)
在python中创建项目模板的标准方法是使用cookiecutter
实用程序。它的文档非常好,您可以轻松地开始创建自己的模板,但是我将使用您给出的示例进行简短介绍。
Cookiecutter使用一种模板语言,允许您指定可以对项目模板的哪些部分进行参数化。在您的情况下,这将是项目名称(可以自由选择),也可能是python和pytest版本(从值列表中选择)。该信息将存储在名为cookiecutter.json
的文件中(有关该文件的外观here的更多示例),该文件或多或少看起来像这样:
{
"full_name": "<your name>",
"email": "<your name>@<email>.com",
"project_name": "default",
"version": "0.1.0",
"python_version": ["3.8", "2.7"],
"pytest_version": ["5.4", "4.6"]
}
现在您需要:
poetry new my_cookie
为模板创建基础cookiecutter.json
放入生成的文件夹{{cookiecutter.project_name}}
替换所有提及的项目名称,包括文件和目录cookiecutter.json
中的所有其他参数重复该步骤cookiecutter path/to/my_cookie