Какие файлы / каталоги я должен добавить в .gitignore при использовании Poetry, менеджера пакетов Python? - PullRequest
0 голосов
/ 17 марта 2020

Я использую очень новый Python менеджер пакетов под названием Poetry .

Он создает несколько файлов / каталогов при создании нового проекта (среды), но я не уверен, какой из них я должен добавить в .gitignore для лучшей практики.

Скажем, я создаю новый поэтический проект, выполнив это:

$ poetry new foo_project
$ cd foo_project
$ poetry add numpy
$ ls

Есть:

tests (directory)
foo_project (also a directory)
pyproject.toml (a file that specifies installed packages)
poetry.lock (a lock file of installed packages)
README.rst (I don't know why README is created but it just shows up.)

Я обычно добавляю tests/, foo_project/, poetry.lock и README.rst, потому что они, кажется, зависят от машины, на которой был создан проект. Кроме того, мне кажется, что я могу воспроизводить среду только с pyproject.toml, так что это еще одна причина, по которой я игнорировал все остальные файлы / каталоги.

Однако, это только моя догадка, и, к сожалению, я не могу найти какого-либо официального руководства, что я действительно должен добавить к .gitignore в официальной документации.

Меня просто беспокоит, что я точно не знаю, что делаю. Какие из них я должен добавить к своему .gitignore?

1 Ответ

0 голосов
/ 24 марта 2020

Также перешел к поэзии совсем недавно.

Я бы сказал, что вы не должны добавлять ни одного из: tests/, foo_project/, poetry.lock или README.rst в .gitignore. Мои причины таковы:

tests/ - ваши тесты не должны зависеть от машины (если это не известное ограничение вашего пакета), а тесты для других - это то, как они тестируют a) установка работала и б) любые изменения, которые они вносят, не выходят за рамки прежних функций, поэтому запрос на извлечение становится более надежным.

foo_project/ - вот куда уходит ваш модуль python! Все ваши файлы .py должны быть внутри этой папки, если вы хотите, чтобы поэзия могла собрать и опубликовать sh ваш пакет.

poetry.lock - см. https://python-poetry.org/docs/basic-usage/, где написано :

По окончании установки Poetry записывает все пакеты и их точные версии, которые были загружены в файл Стихи, блокируя проект для этих указанных c версий. Вы должны зафиксировать файл Стихи в вашем репозитории проекта, чтобы все люди, работающие над проектом, были привязаны к одним и тем же версиям зависимостей (подробнее ниже).

README.rst - хотя это возможно, более личная вещь, это файл, который становится readme вашего пакета, если вы используете поэзию для публикации вашего пакета, например, в PyPi. Без этого в вашем пакете будет пустой readme. У меня есть два readmes, один .md (для GitHub) и один .rst (для PyPi). Я использую GitHub readme для разработчиков / пользователей и PyPi для чистых пользователей.

...