Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. Своего рода дубликат этого вопроса [приблизительно 110], как превратить Python в исполняемый файл .
Это сводится к:
py2exe на окнах, Замораживание на Linux, и py2app на Mac
Я использую PyInstaller (svn версия) для создания автономной версии моей программы, которая включает Python и все зависимости. Требуется немного игры, чтобы заставить его работать правильно и включать все (как делает py2exe и другие подобные программы, см. этот вопрос ), но тогда это работает очень хорошо.
тогда необходимо создать установщик. NSIS Работает отлично для этого и свободен, но он создает .exe файлы не .msi. Если .msi не необходим, я настоятельно рекомендую его. Иначе проверьте ответы на этот вопрос для других опций.
Моя компания использует свободный инструмент InnoSetup. Это - умеренно сложная программа, которая имеет тонны гибкости для создания установщиков для окон. Я полагаю, что это создает .exe и не .msi файлы, как бы то ни было. InnoSetup не является конкретным Python, но мы создали установщик для одного из наших продуктов, который устанавливает Python наряду с зависимостями к местоположениям, определенным пользователем во время установки.
py2exe сделает исполняемые файлы окон с Python связанными в.
py2exe является лучшим способом сделать это. Это - что-то вроде ЛАВАША для использования, но конечный результат работает очень хорошо.