add prefix back
diff --git a/README.md b/README.md
index 5c53ea8..b524b15 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@
 
 In `WORKSPACE`
 ```
-rules_python_external_version = "37dad8910495ad71bae391db7a843a0f7a3ea902"
+rules_python_external_version = "{COMMIT_SHA}"
 
 git_repository(
     name = "rules_python_external",
@@ -32,14 +32,13 @@
 
 In `BUILD`
 ```
+load("@py_deps//:requirements.bzl", "requirement")
+
 py_binary(
     name = "main",
     srcs = ["main.py"],
     deps = [
-        "@py_deps//boto3",
+        requirement("boto3"), # or @py_deps//pypi__boto3
     ],
 )
 ```
-
-N.B package names are sanitized to `{package_name}.replace("-", "_").replace(".", "_").lower()`. You can use the macro
-provided in `load("@py_deps//:requirements.bzl", "requirement")` to automatically transform the name.
diff --git a/src/extract_wheels.py b/src/extract_wheels.py
index 30a9499..dbad34e 100644
--- a/src/extract_wheels.py
+++ b/src/extract_wheels.py
@@ -24,7 +24,17 @@
 
 
 def sanitise_name(name):
-    return name.replace("-", "_").replace(".", "_").lower()
+    """
+    There are certain requirements around Bazel labels that we need to consider.
+
+    rules-python automatically adds the repository root to the PYTHONPATH, meaning a package that has the same name as
+    a module is picked up. We workaround this by prefixing with `pypi__`. Alternatively we could require
+    `--noexperimental_python_import_all_repositories` be set, however this breaks rules_docker.
+    See: https://github.com/bazelbuild/bazel/issues/2636
+
+    Due to restrictions on Bazel labels we also cannot allow hyphens. See https://github.com/bazelbuild/bazel/issues/6841
+    """
+    return "pypi__" + name.replace("-", "_").replace(".", "_").lower()
 
 
 def extract_wheel(whl, directory, extras):
@@ -90,7 +100,7 @@
 
 def requirement(name):
     name_key = name.replace("-", "_").replace(".", "_").lower()
-    return "{repo}//" + name_key
+    return "{repo}//pypi__" + name_key
 """.format(
                 requirement_labels=",".join(targets), repo=args.repo
             )