В какой-то момент вы столкнетесь с проблемами, когда сталкиваетесь с особыми символами, такими как китайские символы или смайлики, в строке, которую вы хотите декодировать, т.е. ошибки, которые выглядят так:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 109-123: ordinal not in range(128)
Для моего случая (твиттер обработка данных), я декодировал следующим образом, чтобы позволить мне видеть все символы без ошибок
>>> s = '\u003cfoo\u003e'
>>> s.decode( 'unicode-escape' ).encode( 'utf-8' )
>>> <foo>
Таким образом, 1 и 3 технически не связаны. 1 обозначает метки для объекта развертывания и имеет значение только для ваших собственных организационных целей. 3 являются метками, которые будут помещены в сгенерированные пакеты. Что касается того, почему Deployments полагаются на ручное указание селектора на ярлыки модуля, то это гарантирует отсутствие состояния. Контроллер развертывания может перезапуститься в любое время, и все будет в безопасности. Это может быть улучшено в будущем, если у кого-то есть солидное предложение, которое позаботится обо всех крайних случаях.