Как изменить значение по умолчанию `pyproject.toml`, которое генерируется при запуске` Стихи новой` - PullRequest
1 голос
/ 25 апреля 2020

Когда я запускаю poetry new [directory], он генерирует pyproject.toml в каталоге, но я всегда нахожу, что я делаю те же первоначальные изменения, такие как

  • версия python (из 2.7 до 3.8)
  • версия pytest (с 4.6 до 5.4)

Как я могу изменить эти значения по умолчанию, чтобы при запуске poetry new python и pytest было желаемое версии?

Версия python, указанная в pyproject.toml, основана на версии python системы? Если это так, я не думаю, что смогу изменить версию python моей системы, поскольку я использую ма c, и это может испортить мою ОС. Или я могу?

1 Ответ

1 голос
/ 02 мая 2020

Стандартный способ создания шаблонов проектов в python - с помощью утилиты cookiecutter. Его документация довольно хорошая, и вы можете легко приступить к созданию собственных шаблонов, но я кратко расскажу о том, как вы привели пример.

Cookiecutter использует язык шаблонов, который позволяет вам указать, какие части вашего Шаблон проекта может быть параметризован. В вашем случае это будет имя проекта (можно выбрать произвольно), а также, возможно, версии python & pytest (из списка значений). Эта информация будет храниться в файле с именем cookiecutter.json (еще несколько примеров того, как этот файл может выглядеть здесь ), который должен выглядеть примерно так:

{
    "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
  • , если вы застряли, взгляните на этот образец шаблона проекта или документы, которые я связал для руководства
...