Как связать приложение Python включая зависимости?

Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException вообще.

См. также: A хороший список лучших практик

Я бы добавил, очень важно, хорошо использовать модификатор final. Использование "окончательной" модификатор, когда это применимо в Java

Сводка:

  1. Используйте модификатор final для обеспечения хорошей инициализации.
  2. Избегайте возврата null в методы, например, при возврате пустых коллекций.
  3. Использовать аннотации @NotNull и @Nullable
  4. Быстрое завершение работы и использование утверждений, чтобы избежать распространения нулевых объектов через все приложение, когда они не должен быть пустым.
  5. Сначала используйте значения с известным объектом: if("knownObject".equals(unknownObject)
  6. Предпочитают valueOf() поверх toString ().
  7. Используйте null safe StringUtils StringUtils.isEmpty(null).

51
задан nbro 18 May 2015 в 16:23
поделиться

5 ответов

Своего рода дубликат этого вопроса [приблизительно 110], как превратить Python в исполняемый файл .

Это сводится к:

py2exe на окнах, Замораживание на Linux, и py2app на Mac

25
ответ дан Community 7 November 2019 в 10:21
поделиться

Я использую PyInstaller (svn версия) для создания автономной версии моей программы, которая включает Python и все зависимости. Требуется немного игры, чтобы заставить его работать правильно и включать все (как делает py2exe и другие подобные программы, см. этот вопрос ), но тогда это работает очень хорошо.

тогда необходимо создать установщик. NSIS Работает отлично для этого и свободен, но он создает .exe файлы не .msi. Если .msi не необходим, я настоятельно рекомендую его. Иначе проверьте ответы на этот вопрос для других опций.

18
ответ дан Csaba 7 November 2019 в 10:21
поделиться

Моя компания использует свободный инструмент InnoSetup. Это - умеренно сложная программа, которая имеет тонны гибкости для создания установщиков для окон. Я полагаю, что это создает .exe и не .msi файлы, как бы то ни было. InnoSetup не является конкретным Python, но мы создали установщик для одного из наших продуктов, который устанавливает Python наряду с зависимостями к местоположениям, определенным пользователем во время установки.

4
ответ дан Mike 7 November 2019 в 10:21
поделиться

py2exe сделает исполняемые файлы окон с Python связанными в.

3
ответ дан William Keller 7 November 2019 в 10:21
поделиться

py2exe является лучшим способом сделать это. Это - что-то вроде ЛАВАША для использования, но конечный результат работает очень хорошо.

1
ответ дан Cody Brocious 7 November 2019 в 10:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: