We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Slow startup when Hy is installed from a wheel
Testing the new release of 0.16.0, I see that startup is much slower when installing from the wheel than from the source distribution or directly from the repository. Likewise for older Hy releases. Even when I make sure the `__pycache__`s are included in the wheel and I can see they're installed. Either there's something wonky with my system, or wheel installation doesn't play nicely with premade byte-compiled files.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `setup.py`
Content:
```
1 #!/usr/bin/env python
2 
3 import os
4 
5 import fastentrypoints  # Monkey-patches setuptools.
6 from get_version import __version__
7 from setuptools import find_packages, setup
8 
9 os.chdir(os.path.split(os.path.abspath(__file__))[0])
10 
11 PKG = "hy"
12 
13 long_description = """Hy is a Python <--> Lisp layer. It helps
14 make things work nicer, and lets Python and the Hy lisp variant play
15 nice together. """
16 
17 setup(
18     name=PKG,
19     version=__version__,
20     install_requires=[
21         "funcparserlib ~= 1.0",
22         "colorama",
23         'astor>=0.8 ; python_version < "3.9"',
24     ],
25     python_requires=">= 3.7, < 3.11",
26     entry_points={
27         "console_scripts": [
28             "hy = hy.cmdline:hy_main",
29             "hy3 = hy.cmdline:hy_main",
30             "hyc = hy.cmdline:hyc_main",
31             "hyc3 = hy.cmdline:hyc_main",
32             "hy2py = hy.cmdline:hy2py_main",
33             "hy2py3 = hy.cmdline:hy2py_main",
34         ]
35     },
36     packages=find_packages(exclude=["tests*"]),
37     package_data={
38         "hy": ["*.hy", "__pycache__/*"],
39         "hy.contrib": ["*.hy", "__pycache__/*"],
40         "hy.core": ["*.hy", "__pycache__/*"],
41         "hy.extra": ["*.hy", "__pycache__/*"],
42     },
43     data_files=[("get_version", ["get_version.py"])],
44     author="Paul Tagliamonte",
45     author_email="tag@pault.ag",
46     long_description=long_description,
47     description="Lisp and Python love each other.",
48     license="Expat",
49     url="http://hylang.org/",
50     platforms=["any"],
51     classifiers=[
52         "Development Status :: 4 - Beta",
53         "Intended Audience :: Developers",
54         "License :: DFSG approved",
55         "License :: OSI Approved :: MIT License",  # Really "Expat". Ugh.
56         "Operating System :: OS Independent",
57         "Programming Language :: Lisp",
58         "Programming Language :: Python",
59         "Programming Language :: Python :: 3",
60         "Programming Language :: Python :: 3.7",
61         "Programming Language :: Python :: 3.8",
62         "Programming Language :: Python :: 3.9",
63         "Programming Language :: Python :: 3.10",
64         "Topic :: Software Development :: Code Generators",
65         "Topic :: Software Development :: Compilers",
66         "Topic :: Software Development :: Libraries",
67     ],
68     project_urls={
69         "Documentation": "https://docs.hylang.org/",
70         "Source": "https://github.com/hylang/hy",
71     },
72 )
73
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -5,6 +5,7 @@
 import fastentrypoints  # Monkey-patches setuptools.
 from get_version import __version__
 from setuptools import find_packages, setup
+from setuptools.command.install import install
 
 os.chdir(os.path.split(os.path.abspath(__file__))[0])
 
@@ -14,14 +15,34 @@
 make things work nicer, and lets Python and the Hy lisp variant play
 nice together. """
 
+
+class install(install):
+    def run(self):
+        super().run()
+        import py_compile
+        from glob import glob
+
+        import hy  # for compile hooks
+
+        for path in glob(os.path.join(self.install_lib, "**/*.hy"), recursive=True):
+            py_compile.compile(
+                path, invalidation_mode=py_compile.PycInvalidationMode.CHECKED_HASH
+            )
+
+
+# both setup_requires and install_requires
+# since we need to compile .hy files during setup
+requires = [
+    "funcparserlib ~= 1.0",
+    "colorama",
+    'astor>=0.8 ; python_version < "3.9"',
+]
+
 setup(
     name=PKG,
     version=__version__,
-    install_requires=[
-        "funcparserlib ~= 1.0",
-        "colorama",
-        'astor>=0.8 ; python_version < "3.9"',
-    ],
+    setup_requires=requires,
+    install_requires=requires,
     python_requires=">= 3.7, < 3.11",
     entry_points={
         "console_scripts": [
@@ -35,10 +56,7 @@
     },
     packages=find_packages(exclude=["tests*"]),
     package_data={
-        "hy": ["*.hy", "__pycache__/*"],
-        "hy.contrib": ["*.hy", "__pycache__/*"],
-        "hy.core": ["*.hy", "__pycache__/*"],
-        "hy.extra": ["*.hy", "__pycache__/*"],
+        "": ["*.hy"],
     },
     data_files=[("get_version", ["get_version.py"])],
     author="Paul Tagliamonte",
@@ -69,4 +87,7 @@
         "Documentation": "https://docs.hylang.org/",
         "Source": "https://github.com/hylang/hy",
     },
+    cmdclass={
+        "install": install,
+    },
 )

{"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -5,6 +5,7 @@\n import fastentrypoints  # Monkey-patches setuptools.\n from get_version import __version__\n from setuptools import find_packages, setup\n+from setuptools.command.install import install\n \n os.chdir(os.path.split(os.path.abspath(__file__))[0])\n \n@@ -14,14 +15,34 @@\n make things work nicer, and lets Python and the Hy lisp variant play\n nice together. \"\"\"\n \n+\n+class install(install):\n+    def run(self):\n+        super().run()\n+        import py_compile\n+        from glob import glob\n+\n+        import hy  # for compile hooks\n+\n+        for path in glob(os.path.join(self.install_lib, \"**/*.hy\"), recursive=True):\n+            py_compile.compile(\n+                path, invalidation_mode=py_compile.PycInvalidationMode.CHECKED_HASH\n+            )\n+\n+\n+# both setup_requires and install_requires\n+# since we need to compile .hy files during setup\n+requires = [\n+    \"funcparserlib ~= 1.0\",\n+    \"colorama\",\n+    'astor>=0.8 ; python_version < \"3.9\"',\n+]\n+\n setup(\n     name=PKG,\n     version=__version__,\n-    install_requires=[\n-        \"funcparserlib ~= 1.0\",\n-        \"colorama\",\n-        'astor>=0.8 ; python_version < \"3.9\"',\n-    ],\n+    setup_requires=requires,\n+    install_requires=requires,\n     python_requires=\">= 3.7, < 3.11\",\n     entry_points={\n         \"console_scripts\": [\n@@ -35,10 +56,7 @@\n     },\n     packages=find_packages(exclude=[\"tests*\"]),\n     package_data={\n-        \"hy\": [\"*.hy\", \"__pycache__/*\"],\n-        \"hy.contrib\": [\"*.hy\", \"__pycache__/*\"],\n-        \"hy.core\": [\"*.hy\", \"__pycache__/*\"],\n-        \"hy.extra\": [\"*.hy\", \"__pycache__/*\"],\n+        \"\": [\"*.hy\"],\n     },\n     data_files=[(\"get_version\", [\"get_version.py\"])],\n     author=\"Paul Tagliamonte\",\n@@ -69,4 +87,7 @@\n         \"Documentation\": \"https://docs.hylang.org/\",\n         \"Source\": \"https://github.com/hylang/hy\",\n     },\n+    cmdclass={\n+        \"install\": install,\n+    },\n )\n", "issue": "Slow startup when Hy is installed from a wheel\nTesting the new release of 0.16.0, I see that startup is much slower when installing from the wheel than from the source distribution or directly from the repository. Likewise for older Hy releases. Even when I make sure the `__pycache__`s are included in the wheel and I can see they're installed. Either there's something wonky with my system, or wheel installation doesn't play nicely with premade byte-compiled files.\n", "before_files": [{"content": "#!/usr/bin/env python\n\nimport os\n\nimport fastentrypoints  # Monkey-patches setuptools.\nfrom get_version import __version__\nfrom setuptools import find_packages, setup\n\nos.chdir(os.path.split(os.path.abspath(__file__))[0])\n\nPKG = \"hy\"\n\nlong_description = \"\"\"Hy is a Python <--> Lisp layer. It helps\nmake things work nicer, and lets Python and the Hy lisp variant play\nnice together. \"\"\"\n\nsetup(\n    name=PKG,\n    version=__version__,\n    install_requires=[\n        \"funcparserlib ~= 1.0\",\n        \"colorama\",\n        'astor>=0.8 ; python_version < \"3.9\"',\n    ],\n    python_requires=\">= 3.7, < 3.11\",\n    entry_points={\n        \"console_scripts\": [\n            \"hy = hy.cmdline:hy_main\",\n            \"hy3 = hy.cmdline:hy_main\",\n            \"hyc = hy.cmdline:hyc_main\",\n            \"hyc3 = hy.cmdline:hyc_main\",\n            \"hy2py = hy.cmdline:hy2py_main\",\n            \"hy2py3 = hy.cmdline:hy2py_main\",\n        ]\n    },\n    packages=find_packages(exclude=[\"tests*\"]),\n    package_data={\n        \"hy\": [\"*.hy\", \"__pycache__/*\"],\n        \"hy.contrib\": [\"*.hy\", \"__pycache__/*\"],\n        \"hy.core\": [\"*.hy\", \"__pycache__/*\"],\n        \"hy.extra\": [\"*.hy\", \"__pycache__/*\"],\n    },\n    data_files=[(\"get_version\", [\"get_version.py\"])],\n    author=\"Paul Tagliamonte\",\n    author_email=\"tag@pault.ag\",\n    long_description=long_description,\n    description=\"Lisp and Python love each other.\",\n    license=\"Expat\",\n    url=\"http://hylang.org/\",\n    platforms=[\"any\"],\n    classifiers=[\n        \"Development Status :: 4 - Beta\",\n        \"Intended Audience :: Developers\",\n        \"License :: DFSG approved\",\n        \"License :: OSI Approved :: MIT License\",  # Really \"Expat\". Ugh.\n        \"Operating System :: OS Independent\",\n        \"Programming Language :: Lisp\",\n        \"Programming Language :: Python\",\n        \"Programming Language :: Python :: 3\",\n        \"Programming Language :: Python :: 3.7\",\n        \"Programming Language :: Python :: 3.8\",\n        \"Programming Language :: Python :: 3.9\",\n        \"Programming Language :: Python :: 3.10\",\n        \"Topic :: Software Development :: Code Generators\",\n        \"Topic :: Software Development :: Compilers\",\n        \"Topic :: Software Development :: Libraries\",\n    ],\n    project_urls={\n        \"Documentation\": \"https://docs.hylang.org/\",\n        \"Source\": \"https://github.com/hylang/hy\",\n    },\n)\n", "path": "setup.py"}], "after_files": [{"content": "#!/usr/bin/env python\n\nimport os\n\nimport fastentrypoints  # Monkey-patches setuptools.\nfrom get_version import __version__\nfrom setuptools import find_packages, setup\nfrom setuptools.command.install import install\n\nos.chdir(os.path.split(os.path.abspath(__file__))[0])\n\nPKG = \"hy\"\n\nlong_description = \"\"\"Hy is a Python <--> Lisp layer. It helps\nmake things work nicer, and lets Python and the Hy lisp variant play\nnice together. \"\"\"\n\n\nclass install(install):\n    def run(self):\n        super().run()\n        import py_compile\n        from glob import glob\n\n        import hy  # for compile hooks\n\n        for path in glob(os.path.join(self.install_lib, \"**/*.hy\"), recursive=True):\n            py_compile.compile(\n                path, invalidation_mode=py_compile.PycInvalidationMode.CHECKED_HASH\n            )\n\n\n# both setup_requires and install_requires\n# since we need to compile .hy files during setup\nrequires = [\n    \"funcparserlib ~= 1.0\",\n    \"colorama\",\n    'astor>=0.8 ; python_version < \"3.9\"',\n]\n\nsetup(\n    name=PKG,\n    version=__version__,\n    setup_requires=requires,\n    install_requires=requires,\n    python_requires=\">= 3.7, < 3.11\",\n    entry_points={\n        \"console_scripts\": [\n            \"hy = hy.cmdline:hy_main\",\n            \"hy3 = hy.cmdline:hy_main\",\n            \"hyc = hy.cmdline:hyc_main\",\n            \"hyc3 = hy.cmdline:hyc_main\",\n            \"hy2py = hy.cmdline:hy2py_main\",\n            \"hy2py3 = hy.cmdline:hy2py_main\",\n        ]\n    },\n    packages=find_packages(exclude=[\"tests*\"]),\n    package_data={\n        \"\": [\"*.hy\"],\n    },\n    data_files=[(\"get_version\", [\"get_version.py\"])],\n    author=\"Paul Tagliamonte\",\n    author_email=\"tag@pault.ag\",\n    long_description=long_description,\n    description=\"Lisp and Python love each other.\",\n    license=\"Expat\",\n    url=\"http://hylang.org/\",\n    platforms=[\"any\"],\n    classifiers=[\n        \"Development Status :: 4 - Beta\",\n        \"Intended Audience :: Developers\",\n        \"License :: DFSG approved\",\n        \"License :: OSI Approved :: MIT License\",  # Really \"Expat\". Ugh.\n        \"Operating System :: OS Independent\",\n        \"Programming Language :: Lisp\",\n        \"Programming Language :: Python\",\n        \"Programming Language :: Python :: 3\",\n        \"Programming Language :: Python :: 3.7\",\n        \"Programming Language :: Python :: 3.8\",\n        \"Programming Language :: Python :: 3.9\",\n        \"Programming Language :: Python :: 3.10\",\n        \"Topic :: Software Development :: Code Generators\",\n        \"Topic :: Software Development :: Compilers\",\n        \"Topic :: Software Development :: Libraries\",\n    ],\n    project_urls={\n        \"Documentation\": \"https://docs.hylang.org/\",\n        \"Source\": \"https://github.com/hylang/hy\",\n    },\n    cmdclass={\n        \"install\": install,\n    },\n)\n", "path": "setup.py"}]}