We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Verify versions of both VegaFusion packages
See https://github.com/altair-viz/altair/pull/3281#issuecomment-1867599879

We should check the version of `vegafusion-python-embed` as well as the version of `vegafusion` since it's possible for these to get out of sync.



--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `altair/utils/_importers.py`
Content:
```
1 from types import ModuleType
2 from packaging.version import Version
3 from importlib.metadata import version as importlib_version
4 
5 
6 def import_vegafusion() -> ModuleType:
7     min_version = "1.5.0"
8     try:
9         version = importlib_version("vegafusion")
10         if Version(version) < Version(min_version):
11             raise RuntimeError(
12                 f"The vegafusion package must be version {min_version} or greater. "
13                 f"Found version {version}"
14             )
15         import vegafusion as vf  # type: ignore
16 
17         return vf
18     except ImportError as err:
19         raise ImportError(
20             'The "vegafusion" data transformer and chart.transformed_data feature requires\n'
21             f"version {min_version} or greater of the 'vegafusion-python-embed' and 'vegafusion' packages.\n"
22             "These can be installed with pip using:\n"
23             f'    pip install "vegafusion[embed]>={min_version}"\n'
24             "Or with conda using:\n"
25             f'    conda install -c conda-forge "vegafusion-python-embed>={min_version}" '
26             f'"vegafusion>={min_version}"\n\n'
27             f"ImportError: {err.args[0]}"
28         ) from err
29 
30 
31 def import_vl_convert() -> ModuleType:
32     min_version = "1.1.0"
33     try:
34         version = importlib_version("vl-convert-python")
35         if Version(version) < Version(min_version):
36             raise RuntimeError(
37                 f"The vl-convert-python package must be version {min_version} or greater. "
38                 f"Found version {version}"
39             )
40         import vl_convert as vlc
41 
42         return vlc
43     except ImportError as err:
44         raise ImportError(
45             f"The vl-convert Vega-Lite compiler and file export feature requires\n"
46             f"version {min_version} or greater of the 'vl-convert-python' package. \n"
47             f"This can be installed with pip using:\n"
48             f'   pip install "vl-convert-python>={min_version}"\n'
49             "or conda:\n"
50             f'   conda install -c conda-forge "vl-convert-python>={min_version}"\n\n'
51             f"ImportError: {err.args[0]}"
52         ) from err
53 
54 
55 def vl_version_for_vl_convert() -> str:
56     from ..vegalite import SCHEMA_VERSION
57 
58     # Compute VlConvert's vl_version string (of the form 'v5_2')
59     # from SCHEMA_VERSION (of the form 'v5.2.0')
60     return "_".join(SCHEMA_VERSION.split(".")[:2])
61 
62 
63 def import_pyarrow_interchange() -> ModuleType:
64     min_version = "11.0.0"
65     try:
66         version = importlib_version("pyarrow")
67 
68         if Version(version) < Version(min_version):
69             raise RuntimeError(
70                 f"The pyarrow package must be version {min_version} or greater. "
71                 f"Found version {version}"
72             )
73         import pyarrow.interchange as pi
74 
75         return pi
76     except ImportError as err:
77         raise ImportError(
78             f"Usage of the DataFrame Interchange Protocol requires\n"
79             f"version {min_version} or greater of the pyarrow package. \n"
80             f"This can be installed with pip using:\n"
81             f'   pip install "pyarrow>={min_version}"\n'
82             "or conda:\n"
83             f'   conda install -c conda-forge "pyarrow>={min_version}"\n\n'
84             f"ImportError: {err.args[0]}"
85         ) from err
86 
87 
88 def pyarrow_available() -> bool:
89     try:
90         import_pyarrow_interchange()
91         return True
92     except ImportError:
93         return False
94
```
--- 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/altair/utils/_importers.py b/altair/utils/_importers.py
--- a/altair/utils/_importers.py
+++ b/altair/utils/_importers.py
@@ -7,10 +7,14 @@
     min_version = "1.5.0"
     try:
         version = importlib_version("vegafusion")
-        if Version(version) < Version(min_version):
+        embed_version = importlib_version("vegafusion-python-embed")
+        if version != embed_version or Version(version) < Version(min_version):
             raise RuntimeError(
-                f"The vegafusion package must be version {min_version} or greater. "
-                f"Found version {version}"
+                "The versions of the vegafusion and vegafusion-python-embed packages must match\n"
+                f"and must be version {min_version} or greater.\n"
+                f"Found:\n"
+                f" - vegafusion=={version}\n"
+                f" - vegafusion-python-embed=={embed_version}\n"
             )
         import vegafusion as vf  # type: ignore

{"golden_diff": "diff --git a/altair/utils/_importers.py b/altair/utils/_importers.py\n--- a/altair/utils/_importers.py\n+++ b/altair/utils/_importers.py\n@@ -7,10 +7,14 @@\n     min_version = \"1.5.0\"\n     try:\n         version = importlib_version(\"vegafusion\")\n-        if Version(version) < Version(min_version):\n+        embed_version = importlib_version(\"vegafusion-python-embed\")\n+        if version != embed_version or Version(version) < Version(min_version):\n             raise RuntimeError(\n-                f\"The vegafusion package must be version {min_version} or greater. \"\n-                f\"Found version {version}\"\n+                \"The versions of the vegafusion and vegafusion-python-embed packages must match\\n\"\n+                f\"and must be version {min_version} or greater.\\n\"\n+                f\"Found:\\n\"\n+                f\" - vegafusion=={version}\\n\"\n+                f\" - vegafusion-python-embed=={embed_version}\\n\"\n             )\n         import vegafusion as vf  # type: ignore\n", "issue": "Verify versions of both VegaFusion packages\nSee https://github.com/altair-viz/altair/pull/3281#issuecomment-1867599879\r\n\r\nWe should check the version of `vegafusion-python-embed` as well as the version of `vegafusion` since it's possible for these to get out of sync.\r\n\r\n\n", "before_files": [{"content": "from types import ModuleType\nfrom packaging.version import Version\nfrom importlib.metadata import version as importlib_version\n\n\ndef import_vegafusion() -> ModuleType:\n    min_version = \"1.5.0\"\n    try:\n        version = importlib_version(\"vegafusion\")\n        if Version(version) < Version(min_version):\n            raise RuntimeError(\n                f\"The vegafusion package must be version {min_version} or greater. \"\n                f\"Found version {version}\"\n            )\n        import vegafusion as vf  # type: ignore\n\n        return vf\n    except ImportError as err:\n        raise ImportError(\n            'The \"vegafusion\" data transformer and chart.transformed_data feature requires\\n'\n            f\"version {min_version} or greater of the 'vegafusion-python-embed' and 'vegafusion' packages.\\n\"\n            \"These can be installed with pip using:\\n\"\n            f'    pip install \"vegafusion[embed]>={min_version}\"\\n'\n            \"Or with conda using:\\n\"\n            f'    conda install -c conda-forge \"vegafusion-python-embed>={min_version}\" '\n            f'\"vegafusion>={min_version}\"\\n\\n'\n            f\"ImportError: {err.args[0]}\"\n        ) from err\n\n\ndef import_vl_convert() -> ModuleType:\n    min_version = \"1.1.0\"\n    try:\n        version = importlib_version(\"vl-convert-python\")\n        if Version(version) < Version(min_version):\n            raise RuntimeError(\n                f\"The vl-convert-python package must be version {min_version} or greater. \"\n                f\"Found version {version}\"\n            )\n        import vl_convert as vlc\n\n        return vlc\n    except ImportError as err:\n        raise ImportError(\n            f\"The vl-convert Vega-Lite compiler and file export feature requires\\n\"\n            f\"version {min_version} or greater of the 'vl-convert-python' package. \\n\"\n            f\"This can be installed with pip using:\\n\"\n            f'   pip install \"vl-convert-python>={min_version}\"\\n'\n            \"or conda:\\n\"\n            f'   conda install -c conda-forge \"vl-convert-python>={min_version}\"\\n\\n'\n            f\"ImportError: {err.args[0]}\"\n        ) from err\n\n\ndef vl_version_for_vl_convert() -> str:\n    from ..vegalite import SCHEMA_VERSION\n\n    # Compute VlConvert's vl_version string (of the form 'v5_2')\n    # from SCHEMA_VERSION (of the form 'v5.2.0')\n    return \"_\".join(SCHEMA_VERSION.split(\".\")[:2])\n\n\ndef import_pyarrow_interchange() -> ModuleType:\n    min_version = \"11.0.0\"\n    try:\n        version = importlib_version(\"pyarrow\")\n\n        if Version(version) < Version(min_version):\n            raise RuntimeError(\n                f\"The pyarrow package must be version {min_version} or greater. \"\n                f\"Found version {version}\"\n            )\n        import pyarrow.interchange as pi\n\n        return pi\n    except ImportError as err:\n        raise ImportError(\n            f\"Usage of the DataFrame Interchange Protocol requires\\n\"\n            f\"version {min_version} or greater of the pyarrow package. \\n\"\n            f\"This can be installed with pip using:\\n\"\n            f'   pip install \"pyarrow>={min_version}\"\\n'\n            \"or conda:\\n\"\n            f'   conda install -c conda-forge \"pyarrow>={min_version}\"\\n\\n'\n            f\"ImportError: {err.args[0]}\"\n        ) from err\n\n\ndef pyarrow_available() -> bool:\n    try:\n        import_pyarrow_interchange()\n        return True\n    except ImportError:\n        return False\n", "path": "altair/utils/_importers.py"}], "after_files": [{"content": "from types import ModuleType\nfrom packaging.version import Version\nfrom importlib.metadata import version as importlib_version\n\n\ndef import_vegafusion() -> ModuleType:\n    min_version = \"1.5.0\"\n    try:\n        version = importlib_version(\"vegafusion\")\n        embed_version = importlib_version(\"vegafusion-python-embed\")\n        if version != embed_version or Version(version) < Version(min_version):\n            raise RuntimeError(\n                \"The versions of the vegafusion and vegafusion-python-embed packages must match\\n\"\n                f\"and must be version {min_version} or greater.\\n\"\n                f\"Found:\\n\"\n                f\" - vegafusion=={version}\\n\"\n                f\" - vegafusion-python-embed=={embed_version}\\n\"\n            )\n        import vegafusion as vf  # type: ignore\n\n        return vf\n    except ImportError as err:\n        raise ImportError(\n            'The \"vegafusion\" data transformer and chart.transformed_data feature requires\\n'\n            f\"version {min_version} or greater of the 'vegafusion-python-embed' and 'vegafusion' packages.\\n\"\n            \"These can be installed with pip using:\\n\"\n            f'    pip install \"vegafusion[embed]>={min_version}\"\\n'\n            \"Or with conda using:\\n\"\n            f'    conda install -c conda-forge \"vegafusion-python-embed>={min_version}\" '\n            f'\"vegafusion>={min_version}\"\\n\\n'\n            f\"ImportError: {err.args[0]}\"\n        ) from err\n\n\ndef import_vl_convert() -> ModuleType:\n    min_version = \"1.1.0\"\n    try:\n        version = importlib_version(\"vl-convert-python\")\n        if Version(version) < Version(min_version):\n            raise RuntimeError(\n                f\"The vl-convert-python package must be version {min_version} or greater. \"\n                f\"Found version {version}\"\n            )\n        import vl_convert as vlc\n\n        return vlc\n    except ImportError as err:\n        raise ImportError(\n            f\"The vl-convert Vega-Lite compiler and file export feature requires\\n\"\n            f\"version {min_version} or greater of the 'vl-convert-python' package. \\n\"\n            f\"This can be installed with pip using:\\n\"\n            f'   pip install \"vl-convert-python>={min_version}\"\\n'\n            \"or conda:\\n\"\n            f'   conda install -c conda-forge \"vl-convert-python>={min_version}\"\\n\\n'\n            f\"ImportError: {err.args[0]}\"\n        ) from err\n\n\ndef vl_version_for_vl_convert() -> str:\n    from ..vegalite import SCHEMA_VERSION\n\n    # Compute VlConvert's vl_version string (of the form 'v5_2')\n    # from SCHEMA_VERSION (of the form 'v5.2.0')\n    return \"_\".join(SCHEMA_VERSION.split(\".\")[:2])\n\n\ndef import_pyarrow_interchange() -> ModuleType:\n    min_version = \"11.0.0\"\n    try:\n        version = importlib_version(\"pyarrow\")\n\n        if Version(version) < Version(min_version):\n            raise RuntimeError(\n                f\"The pyarrow package must be version {min_version} or greater. \"\n                f\"Found version {version}\"\n            )\n        import pyarrow.interchange as pi\n\n        return pi\n    except ImportError as err:\n        raise ImportError(\n            f\"Usage of the DataFrame Interchange Protocol requires\\n\"\n            f\"version {min_version} or greater of the pyarrow package. \\n\"\n            f\"This can be installed with pip using:\\n\"\n            f'   pip install \"pyarrow>={min_version}\"\\n'\n            \"or conda:\\n\"\n            f'   conda install -c conda-forge \"pyarrow>={min_version}\"\\n\\n'\n            f\"ImportError: {err.args[0]}\"\n        ) from err\n\n\ndef pyarrow_available() -> bool:\n    try:\n        import_pyarrow_interchange()\n        return True\n    except ImportError:\n        return False\n", "path": "altair/utils/_importers.py"}]}