В настоящее время я создаю код с именем «SET».Название кода является аббревиатурой, которая была определена по многим причинам (не относящимся к программированию) и поэтому не может быть изменена.
Проблема: Самый простой и, как мне кажется, менее болезненный способконечный пользователь, использующий мой код, будет называть пакет «set».Но, конечно, это проблема, поскольку она конфликтует со встроенной функцией set .
Вопрос: Каковы возможные решения?Некоторые могут быть (есть, вероятно, больше):
изменить имя пакета (например, setb).
import setb
Я бы действительно предпочел не делать этого, потому что тогда оно будет отличаться от реального имени
сделать имя пакета заглавным (SET)
import SET
Это было бы прямолинейное решение, но я задаюсь вопросом: это правильное наименование пакета для питона?Кроме того, я нахожу это немного болезненным, поскольку все модули, определенные в коде, будут иметь что-то вроде «import SET.xy ..» (то есть заглавные буквы, написанные много раз).Но это не имеет большого значения, если это питонский путь.
оставьте название "set"
import set
Ну, это явно не хорошо.Но это будет проблемой, только если пользователь использует «набор импорта», не так ли?Этого не должно происходить в «нормальных условиях использования», так как код предоставит некоторые сценарии для его использования, лучше использовать его в качестве стандартного модуля Python.Но мы никогда не узнаем, и это может быть импортировано, как это, и могут быть даже некоторые проблемы, которые я не вижу (со встроенным набором).
Я рассматриваюрешение 2., но я действительно не уверен.Может быть, это не правильно, или, может быть, у вас, ребята, есть лучшее решение.
PS: Я нашел несколько похожих тем в сети и по stackoverflow, но обычно он имеет дело с именами внутри скрипта или модуля внутрипакет.Проблема здесь действительно связана с именем кода (которое имеет смысл только при таком написании) и, следовательно, связана с правильным именованием имени пакета.
EDIT
Выбранное решение: Я решил использовать «SET» в качестве имени пакета.Хотя здесь было предложено много хороших предложений: pyset, semt, setool ... или более явный "starexoplanettool" (объясняя акроним).Спасибо вам всем.
EDIT # 2
Мне нравится "забавное" решение, состоящее из пакета с именем S и подпакета E ... чтобы получить наконец:
import S.E.T
Спасибо, Дон. Вопрос.