Общие рекомендации по управлению версиями deps:
install_requires
не имеет версии вообще или свободные ограничения, т. е. <4
). Вот что у вас уже есть приложения могут делать все, что нужно. На самом деле, настоятельно рекомендуется прикрепить ваши зависимости к какой-то точной версии (еще лучше - предоставьте хеш, чтобы уберечь себя от поддельных библиотек). Причина этого - вы не можете гарантировать, что сторонние библиотеки будут следовать semver . Это означает, что наличие >2, <3
в вашем requirements.txt
может привести к нарушению сборки / развертывания, потому что сторонняя библиотека выпустила 2.5
, что, по-видимому, обратно несовместимо с 2.4
. Таким образом, вы должны сделать все возможное, чтобы не нарушать сборки, просто перестраивая в другое время. Другими словами, ваша сборка должна быть идемпотентной в состоянии PyPI.
В общем - вы прикрепляете версию к некоторому состоянию, тестируете свое приложение и фиксируете / сохраняете / собираете / как бы вы ни поставляли. Некоторое время спустя вы пересматриваете версии (т. Е. Обновляете фреймворк или исправление безопасности адреса), обновляете версию в requirements.txt
, тестируете свое приложение с новым состоянием deps, если нет конфликтов / неработающих частей, вы «зависаете» с помощью закрепленные версии и сборка / развертывание / и т.д. Этот вид цикла дает вам пространство для периодического обновления ваших требований, чтобы оставаться в курсе, и в то же время у вас есть код, который не будет нарушен простой переустановкой зависимостей.
Если вы хотите упростить управление депо с помощью версии, я предлагаю взглянуть на pipenv
Я просто обнаружил: Начиная с Вещества 5.0 SKIN_PROPERTY доступен.
Это позволяет присваивать различную кожу различному JRootPanes
(т.е. JDialog
, JFrame
, JInternalFrame
)
Немного приема: Я переопределяю JInternalFrame
для удаления дополнительной границы и заголовка разделяют на области так, чтобы это посмотрело точно так же, как безграничная панель. Тем путем возможно создать впечатление, что различные части формы/диалогового окна имеют различные взгляды.
Вот библиотека, которая автоматически изменит стиль. Я не уверен это, это будет сделанный для каждого компонента по-другому, но необходимо смотреть на него. pbjar.org
Эта книга должна быть полезной, если Вы хотите пойти глубоко в стиль/java-look-and-feel-design-guidelines-second-edition
Я был бы рад видеть некоторый пример кода, если кто-то может записать это, не стесняйтесь получать запуск.
Править:
В этом Потоке потока форума я нашел следующее описание
Swing использует Взгляд и Чувство (PLAF). PLAFs не присоединяются на на - JFrame уровень. Они присоединяются на на - VM уровень. Почти невозможно смешать PLAFs в рамках одного приложения. Я видел несколько попыток, все отказавшие.
Swing, к сожалению, делает много "psuedo-глобальных" вещей негласно. AFAIK, единственный способ сделать это последовательно состоит в том, чтобы использовать частное AppContext
API. Каждый AppContext
имеет его собственный поток отправки события и другой "psuedo-globals".