Skip to content

Commit 3584dad

Browse files
[Build] setup multiple python interpreters defaulting to 3.8
1 parent cccbe85 commit 3584dad

File tree

1 file changed

+27
-11
lines changed

1 file changed

+27
-11
lines changed

WORKSPACE

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,22 +42,38 @@ http_archive(
4242
url = "https://github.com/bazelbuild/rules_python/archive/refs/tags/0.15.0.tar.gz",
4343
)
4444

45-
load("@rules_python//python:repositories.bzl", "python_register_toolchains")
45+
load("@rules_python//python:repositories.bzl", "python_register_multi_toolchains")
4646

47-
python_register_toolchains(
48-
name = "python_toolchain",
49-
python_version = "3.8",
50-
)
47+
default_python_version = "3.8"
5148

52-
load("@python_toolchain//:defs.bzl", "interpreter")
49+
python_register_multi_toolchains(
50+
name = "python",
51+
default_version = default_python_version,
52+
python_versions = [
53+
"3.8",
54+
"3.9",
55+
"3.10",
56+
],
57+
)
5358

54-
# This one is only needed if you're using the packaging rules.
55-
load("@rules_python//python:pip.bzl", "pip_parse")
59+
load("@python//:pip.bzl", "multi_pip_parse")
60+
load("@python//3.10:defs.bzl", interpreter_3_10 = "interpreter")
61+
load("@python//3.8:defs.bzl", interpreter_3_8 = "interpreter")
62+
load("@python//3.9:defs.bzl", interpreter_3_9 = "interpreter")
5663

57-
pip_parse(
64+
multi_pip_parse(
5865
name = "py_dev_requirements",
59-
python_interpreter_target = interpreter,
60-
requirements_lock = "//py:requirements_lock.txt",
66+
default_version = default_python_version,
67+
python_interpreter_target = {
68+
"3.10": interpreter_3_10,
69+
"3.8": interpreter_3_8,
70+
"3.9": interpreter_3_9,
71+
},
72+
requirements_lock = {
73+
"3.10": "//py:requirements_lock.txt",
74+
"3.8": "//py:requirements_lock.txt",
75+
"3.9": "//py:requirements_lock.txt",
76+
},
6177
)
6278

6379
load("@py_dev_requirements//:requirements.bzl", "install_deps")

0 commit comments

Comments
 (0)