Contains Bazel rules to fetch and install Python dependencies from a requirements.txt file.
In requirements.txt
cryptography==2.8 boto3==1.9.253
In WORKSPACE
rules_python_external_version = "{COMMIT_SHA}" git_repository( name = "rules_python_external", commit = rules_python_external_version, remote = "git@github.com:dillon-giacoppo/rules_python_external.git", shallow_since = "1572846707 +1100", ) load("@rules_python_external//:defs.bzl", "pip_repository") pip_repository( name = "py_deps", requirements = "//:requirements.txt", )
In BUILD
load("@py_deps//:requirements.bzl", "requirement") py_binary( name = "main", srcs = ["main.py"], deps = [ requirement("boto3"), # or @py_deps//pypi__boto3 ], )
bazel test //...