diff --git a/rust/hgcli/pyoxidizer.bzl b/rust/hgcli/pyoxidizer.bzl
index f07a0054339643679f24d47d256271b97dfa2896_cnVzdC9oZ2NsaS9weW94aWRpemVyLmJ6bA==..b962a913ee3b949ff0e0061e5e3acb085e31c66c_cnVzdC9oZ2NsaS9weW94aWRpemVyLmJ6bA== 100644
--- a/rust/hgcli/pyoxidizer.bzl
+++ b/rust/hgcli/pyoxidizer.bzl
@@ -36,6 +36,14 @@
 
 # Code to run in Python interpreter.
 RUN_CODE = """
+import os
+import sys
+extra_path = os.environ.get('PYTHONPATH')
+if extra_path is not None:
+    # extensions and hooks expect a working python environment
+    # We do not prepend the values because the Mercurial library wants to be in
+    # the front of the sys.path to avoid picking up other installations.
+    sys.path.extend(extra_path.split(os.pathsep))
 import hgdemandimport;
 hgdemandimport.enable();
 from mercurial import dispatch;