[PATCH v1] py: Set `PYTHONPATH` in devenv

Kieran Bingham kieran.bingham at ideasonboard.com
Thu May 1 16:21:18 CEST 2025


Quoting Barnabás Pőcze (2025-05-01 15:12:50)
> If the python bindings are built, then set the `PYTHONPATH` environmental
> variable in the meson devenv accordingly to make it easy to use.
> 
>   $ meson devenv -C build
>   [libcamera] $ echo $PYTHONPATH
>   /libcamera/build/src/py
>   [libcamera] $ python
>   Python 3.13.3 (main, Apr  9 2025, 07:44:25) [GCC 14.2.1 20250207] on linux
>   Type "help", "copyright", "credits" or "license" for more information.
>   >>> import libcamera
>   >>> cm = libcamera.CameraManager.singleton()
>   [...]
>   [129:52:33.293860558] [4133380]  INFO Camera camera_manager.cpp:326 libcamera v0.5.0+169-7dbe74b5-dirty (2025-05-01)
>   [...]
> 
> Signed-off-by: Barnabás Pőcze <barnabas.pocze at ideasonboard.com>

Nice touch!


Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

> ---
>  src/py/libcamera/meson.build | 16 ----------------
>  src/py/meson.build           | 12 ++++++++++++
>  2 files changed, 12 insertions(+), 16 deletions(-)
> 
> diff --git a/src/py/libcamera/meson.build b/src/py/libcamera/meson.build
> index 456ee7932..33ab65798 100644
> --- a/src/py/libcamera/meson.build
> +++ b/src/py/libcamera/meson.build
> @@ -1,21 +1,5 @@
>  # SPDX-License-Identifier: CC0-1.0
>  
> -py3_dep = dependency('python3', required : get_option('pycamera'))
> -
> -if not py3_dep.found()
> -    pycamera_enabled = false
> -    subdir_done()
> -endif
> -
> -pybind11_dep = dependency('pybind11', required : get_option('pycamera'))
> -
> -if not pybind11_dep.found()
> -    pycamera_enabled = false
> -    subdir_done()
> -endif
> -
> -pycamera_enabled = true
> -
>  pycamera_sources = files([
>      'py_camera_manager.cpp',
>      'py_color_space.cpp',
> diff --git a/src/py/meson.build b/src/py/meson.build
> index a4586b4ae..922806971 100644
> --- a/src/py/meson.build
> +++ b/src/py/meson.build
> @@ -1,3 +1,15 @@
>  # SPDX-License-Identifier: CC0-1.0
>  
> +py3_dep = dependency('python3', required : get_option('pycamera'))
> +pybind11_dep = dependency('pybind11', required : get_option('pycamera'))
> +
> +pycamera_enabled = py3_dep.found() and pybind11_dep.found()
> +if not pycamera_enabled
> +    subdir_done()
> +endif
> +
>  subdir('libcamera')
> +
> +pycamera_devenv = environment()
> +pycamera_devenv.prepend('PYTHONPATH', meson.current_build_dir())
> +meson.add_devenv(pycamera_devenv)
> -- 
> 2.49.0
>


More information about the libcamera-devel mailing list