Соглашение об именах папок для проектов Python - PullRequest
0 голосов
/ 16 октября 2018

Какое соглашение об именах в сообществе python устанавливает имена для папок и подпапок проекта?

my-great-python-project
my_great_python_project 
myGreatPythonProject 
MyGreatPythonProject

Я нахожусь в github.Ценю ваше мнение эксперта.

Ответы [ 2 ]

0 голосов
/ 16 октября 2018

Существует три соглашения, которые могут вас запутать.

  1. Стандарт

PEP8 определяет стандарт для именования пакетов имодули:

Модули должны иметь короткие, строчные имена.Подчеркивания могут использоваться в имени модуля, если это улучшает читабельность.Пакеты Python также должны иметь короткие, строчные имена, хотя использование подчеркивания не рекомендуется.

На самом деле, никто не заботится о рекомендации не использовать подчеркивания

Несмотря на то, что это в PEP8, многие пакеты используют подчеркивания, и сообщество не считает это плохой практикой.Таким образом, вы видите много имен, таких как sqlalchemy_searchable и т. Д.

Хотя вы можете создать папку с именем, которое не совпадает с именем вашего пакета, это, как правило, плохая идея, поскольку это делает вещи более запутанными.

Таким образом, вы обычно будете использовать все строчные имена с подчеркиванием для своих папок.

Имена пакетов в pypi

Имя пакета, когда он установлен, не должно совпадать с именем, которое опубликовано в pypi (источник для pip устанавливает).Пакеты на pypi обычно именуются дефисами, а не подчеркиванием.например, flask-cors , который устанавливает пакет flask_cors.

Однако, вы заметите, что если вы последуете этому примеру, то репозиторий flask-cors GitHub repo определяет код пакета в каталоге flask_cors/.Это норма.

Это немного запутанно, потому что установка пакета pip не чувствительна к регистру и одинаково обрабатывает подчеркивания и дефисы.Так что Flask-Cors, fLASK_cOrs и т. Д. Являются "эквивалентными".Лично мне не нравится играть в игры с этим - я рекомендую просто называть пакеты на pypi строчными буквами и дефисами, что делает большинство людей.


Отказ от ответственности: я не владеюили сохраните sqlalchemy-searchable или flask-cors, но на момент написания статьи они являются хорошими примерами пакетов с подчеркиванием в именах.

0 голосов
/ 16 октября 2018

Пакеты Python также должны иметь короткие имена в нижнем регистре, хотя использование подчеркивания не рекомендуется. Руководство по стилю Pep 8

Это рекомендация для пакетов, являющихся основной папкой, содержащей модули, для тестирования, настройки и файлов сценариев, * .py и __init__.py,Поэтому я предполагаю, что папка является пакетом и поэтому должна быть в нижнем регистре без подчеркивания (см. Ссылку Some Package Github ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...