Использование Pybind с Bazel, но установка пути Python?

#python #bazel #pybind11

Вопрос:

Я пытаюсь использовать Pybind с Bazel, и я следую инструкциям по: https://github.com/pybind/pybind11_bazel

Все это работает нормально, и я смог заставить его использовать Python3 с помощью следующей команды в моем рабочем пространстве:

 python_configure(name = "local_config_python", python_version = "3")
 

Однако в инструкциях совершенно неясно, как использовать его с конкретным python, скажем, в виртуальном env

Этот файл здесь https://github.com/pybind/pybind11_bazel/blob/master/python_configure.bzl говорит, что мы должны установить две переменные:

 """Repository rule for Python autoconfiguration.
`python_configure` depends on the following environment variables:
  * `PYTHON_BIN_PATH`: location of python binary.
  * `PYTHON_LIB_PATH`: Location of python libraries.
"""
 

Я устанавливаю их, но на самом деле это не уважает эти ценности. Как я могу на самом деле передать эти переменные, возможно, в моей cc_library команде. Есть ли API для установки пути Python в моем рабочем пространстве?

Ответ №1:

Вы можете попробовать добавить эти два в качестве action_env в .bazelrc:

 build --action_env=PYTHON_BIN_PATH=xxx
build --action_env=PYTHON_LIB_PATH=xxx