At present, some attributes of env object are considered as optional
because they have been initialized by None on the constructor. But
they have always been fullfilled actually.
To be clear the type hints of the env object, this makes the `app`
argument for the BuildEnvironment class required. It can ensure the
attributes of env object are not optional.