Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.maint.python > #17277 > unrolled thread

Building multiple wheel with pybuild

Started bypicca <picca@debian.org>
First post2025-12-20 13:20 +0100
Last post2025-12-24 17:30 +0100
Articles 8 — 3 participants

Back to article view | Back to linux.debian.maint.python


Contents

  Building multiple wheel with pybuild picca <picca@debian.org> - 2025-12-20 13:20 +0100
    Re: Building multiple wheel with pybuild picca <picca@debian.org> - 2025-12-22 20:00 +0100
      Re: Building multiple wheel with pybuild Stefano Rivera <stefanor@debian.org> - 2025-12-22 22:40 +0100
        Re: Building multiple wheel with pybuild picca <picca@debian.org> - 2025-12-23 10:00 +0100
          Re: Building multiple wheel with pybuild stefanor@debian.org - 2025-12-23 12:50 +0100
            Re: Building multiple wheel with pybuild picca <picca@debian.org> - 2025-12-24 09:40 +0100
              Re: Building multiple wheel with pybuild stefanor@debian.org - 2025-12-24 16:40 +0100
                Re: Building multiple wheel with pybuild Stefano Rivera <stefanor@debian.org> - 2025-12-24 17:30 +0100

#17277 — Building multiple wheel with pybuild

Frompicca <picca@debian.org>
Date2025-12-20 13:20 +0100
SubjectBuilding multiple wheel with pybuild
Message-ID<M446d-4k45-3@gated-at.bofh.it>

Hello,

I would like your advices when pybuild fail with this error message.

Successfully built cctbx-2023.12-py3-none-any.whl
I: pybuild plugin_pyproject:155: Unpacking wheel built for python3.13 with "installer" module
# build the dxtbx python module
dh_auto_build --sourcedirectory=dxtbx
	pybuild --build -i python{version} -p "3.14 3.13" --dir dxtbx
I: pybuild plugin_pyproject:131: Building wheel for python3.14 with "build" module
I: pybuild base:317: python3.14 -m build --skip-dependency-check --no-isolation --wheel --outdir /build/reproducible-path/cctbx-2025.11+ds2+~3.26.0+ds1/.pybuild/cpython3_3.14  
* Building wheel...
Successfully built dxtbx-3.26.0-py3-none-any.whl
I: pybuild plugin_pyproject:155: Unpacking wheel built for python3.14 with "installer" module
E: pybuild pybuild:389: build: plugin pyproject failed with: Expecting to have built exactly 1 wheel, but found 2
I: pybuild plugin_pyproject:131: Building wheel for python3.13 with "build" module
I: pybuild base:317: python3.13 -m build --skip-dependency-check --no-isolation --wheel --outdir /build/reproducible-path/cctbx-2025.11+ds2+~3.26.0+ds1/.pybuild/cpython3_3.13  
* Building wheel...
Successfully built dxtbx-3.26.0-py3-none-any.whl
I: pybuild plugin_pyproject:155: Unpacking wheel built for python3.13 with "installer" module
E: pybuild pybuild:389: build: plugin pyproject failed with: Expecting to have built exactly 1 wheel, but found 2
dh_auto_build: error: pybuild --build -i python{version} -p "3.14 3.13" --dir dxtbx returned exit code 13
make[1]: *** [debian/rules:63: override_dh_auto_build] Error 25
make[1]: Leaving directory '/build/reproducible-path/cctbx-2025.11+ds2+~3.26.0+ds1'
make: *** [debian/rules:24: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with
exit status 2



I am building the cctbx package which provide two python3 modules.

thanks for your help.

Frederic

[toc] | [next] | [standalone]


#17284

Frompicca <picca@debian.org>
Date2025-12-22 20:00 +0100
Message-ID<M4Tip-4T6y-3@gated-at.bofh.it>
In reply to#17277
picca <picca@debian.org> writes:

> Hello,
>
> I would like your advices when pybuild fail with this error message.

I progress,

setting PYBUILD_NAME=xxx

but now I have this error

when calling this from a script

destdir=$(pybuild -p "$pyver" --print "{destdir}")

E: pybuild pybuild:480: print_args: plugin pyproject failed with: 'print_args' is not a valid main.<locals>.Step
E: pybuild pybuild:480: print_args: plugin pyproject failed with: 'print_args' is not a valid main.<locals>.Step
E: pybuild pybuild:480: print_args: plugin pyproject failed with: 'print_args' is not a valid main.<locals>.Step

Is it s bun in pybuild ?

Cheers

[toc] | [prev] | [next] | [standalone]


#17285

FromStefano Rivera <stefanor@debian.org>
Date2025-12-22 22:40 +0100
Message-ID<M4VNf-4URV-5@gated-at.bofh.it>
In reply to#17284
Hi picca (2025.12.22_18:52:01_+0000)

If you are building multiple wheels with pybuild, you should call 
pybuild multiple times with different --name values. e.g.
https://salsa.debian.org/python-team/tools/dh-python/-/blob/master/tests/tpb07/debian/rules?ref_type=heads

That's a test-case so the rules file isn't structured exactly the way a 
package would be, but it should explain the idea.

Stefano

-- 
Stefano Rivera
   http://tumbleweed.org.za/
   +1 415 683 3272

[toc] | [prev] | [next] | [standalone]


#17287

Frompicca <picca@debian.org>
Date2025-12-23 10:00 +0100
Message-ID<M56pj-5267-7@gated-at.bofh.it>
In reply to#17285
Stefano Rivera <stefanor@debian.org> writes:

> That's a test-case so the rules file isn't structured exactly the way a 
> package would be, but it should explain the idea.

I did this now, it is great,

Do you have an idea about this error now

E: pybuild pybuild:480: build: plugin custom failed with: exit code=1:
E: pybuild pybuild:480: print_args: plugin custom failed with: 'print_args' is not a valid main.<locals>.Step
E: pybuild pybuild:480: print_args: plugin custom failed with: 'print_args' is not a valid main.<locals>.Step
E: pybuild pybuild:480: print_args: plugin custom failed with: 'print_args' is not a valid main.<locals>.Step

It comes from an install-cctbx.sh script that I am using in order to install all
the files at the right place....

# build paths
pybuilddir=$(pybuild -s custom -p "$pyver" --print "{build_dir}")

it is called like this in the rule file (this the specific installation)

override_dh_auto_install: setup.py annlib_adaptbx ccp4io_adaptbx gui_resources
        # install the cctbx python modules
	dh_auto_install

        # install the dxtbx python modules
        PYBUILD_NAME=dxtbx dh_auto_install --sourcedirectory=dxtbx

        # specific installation for the cctbx build directory
        dh_auto_build -- -s custom --build-args="debian/install-cctbx.sh -- --pyver={version} --srcdir=$(CURDIR) --builddir={build_dir}_ --modules='$(MODULES)'"


Cheers

Fred

[toc] | [prev] | [next] | [standalone]


#17288

Fromstefanor@debian.org
Date2025-12-23 12:50 +0100
Message-ID<M593P-53PY-3@gated-at.bofh.it>
In reply to#17287
Hi picca (2025.12.23_08:58:08_+0000)
>Do you have an idea about this error now
>
>E: pybuild pybuild:480: build: plugin custom failed with: exit code=1:
>E: pybuild pybuild:480: print_args: plugin custom failed with: 'print_args' is not a valid main.<locals>.Step
>E: pybuild pybuild:480: print_args: plugin custom failed with: 'print_args' is not a valid main.<locals>.Step
>E: pybuild pybuild:480: print_args: plugin custom failed with: 'print_args' is not a valid main.<locals>.Step

That's a regression from my upload this weekend, I'll fix it now.

Stefano

-- 
Stefano Rivera
   http://tumbleweed.org.za/
   +1 415 683 3272

[toc] | [prev] | [next] | [standalone]


#17290

Frompicca <picca@debian.org>
Date2025-12-24 09:40 +0100
Message-ID<M5szv-5gP1-15@gated-at.bofh.it>
In reply to#17288
stefanor@debian.org writes:

> That's a regression from my upload this weekend, I'll fix it now.
>
> Stefano

Thanks now it works :).

I have another question.

Now that I use --name, it install directly the files under
debian/python3-<modules>

is it possible to force installation under debian/tmp, my package
contains also shared libraries, include files and so one.

thanks

Fred

[toc] | [prev] | [next] | [standalone]


#17291

Fromstefanor@debian.org
Date2025-12-24 16:40 +0100
Message-ID<M5z7X-5l4B-3@gated-at.bofh.it>
In reply to#17290
Hi picca (2025.12.24_08:39:03_+0000)
>I have another question.
>
>Now that I use --name, it install directly the files under
>debian/python3-<modules>
>
>is it possible to force installation under debian/tmp, my package
>contains also shared libraries, include files and so one.

Yes, the --name option overrides --dest-dir debian/tmp I'm afraid. It 
won't override other values, but that's the one you want...

You could hack around it by creating a symlink to debian/tmp, I guess.

Let me see if I can fix this behaviour, it isn't ideal.

Stefano

-- 
Stefano Rivera
   http://tumbleweed.org.za/
   +1 415 683 3272

[toc] | [prev] | [next] | [standalone]


#17292

FromStefano Rivera <stefanor@debian.org>
Date2025-12-24 17:30 +0100
Message-ID<M5zUl-5lCy-1@gated-at.bofh.it>
In reply to#17291
Hi picca (2025.12.24_15:33:05_+0000)
>Let me see if I can fix this behaviour, it isn't ideal.

How's this version?

https://debusine.debian.net/debian/r-stefanor-dh-python/artifact/2927755/

Published in:

https://deb.debusine.debian.net/debian/r-stefanor-dh-python/

Stefano

-- 
Stefano Rivera
   http://tumbleweed.org.za/
   +1 415 683 3272

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.maint.python


csiph-web