rules_python icon indicating copy to clipboard operation
rules_python copied to clipboard

pip_parse is not installing flask, asking for the packages jinja2, itsdangerous etc. for any python package like requests or pandas same issue is there.

Open jigsnptel opened this issue 10 months ago • 1 comments

continuoulsy asking packages for flask, if you include them in requirements.txt, it is asking for some other package. i am using bazel 7.1.1

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive( name = "rules_python", sha256 = "c68bdc4fbec25de5b5493b8819cfc877c4ea299c0dcb15c244c5a00208cde311", strip_prefix = "rules_python-0.31.0", url = "https://github.com/bazelbuild/rules_python/releases/download/0.31.0/rules_python-0.31.0.tar.gz", )

load("@rules_python//python:repositories.bzl", "py_repositories")

py_repositories()

load("@rules_python//python:repositories.bzl", "python_register_toolchains")

python_register_toolchains( name = "python3_11", # Available versions are listed in @rules_python//python:versions.bzl. python_version = "3.11", )

load("@python3_11//:defs.bzl", "interpreter")

load("@rules_python//python:pip.bzl", "pip_parse")

pip_parse( python_interpreter_target = interpreter, name = "my_deps", requirements_lock = "//third_party:requirements.txt", environment = { "PIP_REQUIRE_VIRTUALENV": "", }

)

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

install_deps()

workspace. bazel file

load("@my_deps//:requirements.bzl", "requirement") load("@rules_python//python:defs.bzl", "py_binary")

#load("@rules_python//python:repositories.bzl", "py_repositories")

py_binary( name = "main", srcs = ["main.py"], deps = ["//calc:calculator","@my_deps_flask//:pkg" ],

)BUILD.bazel file.

error msg: Fetching target dependencies for deps(//app:main) encountered an error: Evaluation of query "deps(//app:main)" failed: preloading transitive closure failed: no such package '@@my_deps_blinker//': The repository '@@my_deps_blinker' could not be resolved: Repository '@@my_deps_blinker' is not defined

jigsnptel avatar Apr 17 '24 05:04 jigsnptel

I have found that you need to use the pip_compile_requirements rule to create the requirements_lock.txt file. If you do so, all the packages that a module depends on will be added in that requirements_lock.txt file. I have made an example when I tried to get it working https://github.com/pat-jpnk/bazel_pip_example/tree/main

pat-jpnk avatar May 06 '24 08:05 pat-jpnk

We also have a examples/bzlmod and exmples/pip_parse examples. Consider looking at them.

aignas avatar May 13 '24 08:05 aignas