diff --git a/setup.py b/setup.py
index de0d4541123949825a72bf95d25d211e5674accb..e6f9ece70b8421ebadd13a248295e16b0e706906 100644
--- a/setup.py
+++ b/setup.py
@@ -1,12 +1,12 @@
 #!/usr/bin/env python
 # pylint: disable=missing-docstring
 from setuptools import setup, find_packages
+from template import __doc__ as description
 
 setup(
     name="template",
     version="0.6.4",
-    description="""A CLI tool for generating files from Jinja2 templates and
-    environment variables.""",
+    description=description,
     long_description=open("README.rst", "r").read(),
     long_description_content_type="text/x-rst",
     url="https://git.shore.co.il/nimrod/template",
diff --git a/template/__init__.py b/template/__init__.py
index ed997ea23bfa81f212c098543d4be7ec82350a17..67baf5c1644e9f49c3b1474d788b85626cbb5b87 100644
--- a/template/__init__.py
+++ b/template/__init__.py
@@ -10,12 +10,19 @@ from __future__ import (
     unicode_literals,
 )  # pylint: disable=duplicate-code
 from os import environ
-from sys import stdin, stdout
+import sys
 import argparse
 from argparse import ArgumentParser
-from jinja2 import Environment
 import template.filters
 
+# I ignore import errors here and fail on them later in the main function so
+# the module can be imported by the setup.py with jinja missing so the
+# docstring can be used as the package description.
+try:
+    from jinja2 import Environment
+except ImportError:
+    pass
+
 
 __version__ = "0.6.4"
 
@@ -47,10 +54,16 @@ def main():
         type=argparse.FileType("w"),
     )
     args = parser.parse_args()
-    infd = args.filename if args.filename else stdin
-    outfd = args.output if args.output else stdout
+    infd = args.filename if args.filename else sys.stdin
+    outfd = args.output if args.output else sys.stdout
     print(render(infd.read()), file=outfd)
 
 
 if __name__ == "__main__":
+    if "Environment" not in dir():
+        print(
+            "Failed to import jinja2, is the package installed?",
+            file=sys.stderr,
+        )
+        sys.exit(2)
     main()