diff --git a/plotid/publish.py b/plotid/publish.py
index 2e38c25df151bc682c7eedf954446bcedc0b06da..fab060c3f29f398333e114ee43cc68f86659ebda 100644
--- a/plotid/publish.py
+++ b/plotid/publish.py
@@ -13,7 +13,7 @@ import os
 import shutil
 import sys
 import warnings
-from importlib.metadata import version
+from importlib.metadata import version, PackageNotFoundError
 from typing import TypedDict, Any
 from plotid.save_plot import save_plot
 from plotid.plotoptions import PlotIDTransfer, validate_list
@@ -285,8 +285,11 @@ class Analyzer(ast.NodeVisitor):
         # Write every item of the set to one line.
         with open(output_file, "w", encoding="utf-8") as output:
             for item in imports_as_set:
-                module_version = version(item)
-                output.write(f"{item}=={module_version}\n")
+                try:
+                    module_version = version(item)
+                    output.write(f"{item}=={module_version}\n")
+                except PackageNotFoundError:
+                    output.write(f"{item}\n")
             output.close()
 
 
diff --git a/tests/test_publish.py b/tests/test_publish.py
index dddb6331e31f7fe0872c1fc540ac7aa5ad17a1af..4666874da7f75c9d40214f9f15f7cff27f2a7777 100644
--- a/tests/test_publish.py
+++ b/tests/test_publish.py
@@ -353,7 +353,7 @@ class TestPublish(unittest.TestCase):
             "unittest\n",
             "subprocess\n",
             "platform\n",
-            "matplotlib\n",
+            "matplotlib==3.6.2\n",
             "os\n",
             "sys\n",
             "plotid\n",