diff --git a/django/contrib/admindocs/views.py b/django/contrib/admindocs/views.py
index 1768fd7..bf706d0 100644
--- a/django/contrib/admindocs/views.py
+++ b/django/contrib/admindocs/views.py
@@ -315,6 +315,10 @@ def load_all_installed_template_libraries():
     # Load/register all template tag libraries from installed apps.
     for module_name in template.get_templatetags_modules():
         mod = import_module(module_name)
+        if not hasattr(mod, '__file__'):
+            # e.g. packages installed as eggs
+            continue
+
         try:
             libraries = [
                 os.path.splitext(p)[0]
@@ -322,12 +326,13 @@ def load_all_installed_template_libraries():
                 if p.endswith('.py') and p[0].isalpha()
             ]
         except OSError:
-            libraries = []
-        for library_name in libraries:
-            try:
-                template.get_library(library_name)
-            except template.InvalidTemplateLibrary:
-                pass
+            continue
+        else:
+            for library_name in libraries:
+                try:
+                    template.get_library(library_name)
+                except template.InvalidTemplateLibrary:
+                    pass
 
 
 def get_return_data_type(func_name):
