You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm not sure if I am misunderstanding something about how things are supposed to work in the different cibuildwheel stages or if I am hitting an unplanned for edge case here. I have a dependency that I am installing directly from a Github URL (pip install git+https...) using CIBW_BEFORE_BUILD (more precisely CIBW_BEFORE_BUILD_LINUX, but I only have linux builds so these should be equivalent). This package is also part of the install_requires set of one of the dependencies of my package (i.e. I'm building wheels for package A, A requires B, and B requires C, where C is the package that I'm installing directly from Github).
The installation from Github goes off without a hitch, but the problem I run into is that the pip wheel command eventually tries to also install that dependency again at the step "Running command pip subprocess to install backend dependencies". I would not have expected this to happen, but it appears to be because the command there ignores already installed packages:
Since this extra dependency is not available on PyPI or any additional server, the wheel build fails even though I have pre-installed the dependency when cibuildwheel is "Running before_build". As a result, the pre-installation of the dependency using CIBW_BEFORE_BUILD is ultimately not solving the desired problem. Is this behavior expected?
Here is an example of such a run that fails. Please ignore some of the gross hacks in there :) I now have a better solution in place that has unblocked me (I no longer need to install the package via the Github URL), but I wanted to raise the discussion anyway in case this is unexpected behavior or something useful to have a workaround for.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
I'm not sure if I am misunderstanding something about how things are supposed to work in the different cibuildwheel stages or if I am hitting an unplanned for edge case here. I have a dependency that I am installing directly from a Github URL (
pip install git+https...
) usingCIBW_BEFORE_BUILD
(more preciselyCIBW_BEFORE_BUILD_LINUX
, but I only have linux builds so these should be equivalent). This package is also part of theinstall_requires
set of one of the dependencies of my package (i.e. I'm building wheels for package A, A requires B, and B requires C, where C is the package that I'm installing directly from Github).The installation from Github goes off without a hitch, but the problem I run into is that the
pip wheel
command eventually tries to also install that dependency again at the step "Running command pip subprocess to install backend dependencies". I would not have expected this to happen, but it appears to be because the command there ignores already installed packages:Since this extra dependency is not available on PyPI or any additional server, the wheel build fails even though I have pre-installed the dependency when cibuildwheel is "Running before_build". As a result, the pre-installation of the dependency using
CIBW_BEFORE_BUILD
is ultimately not solving the desired problem. Is this behavior expected?Here is an example of such a run that fails. Please ignore some of the gross hacks in there :) I now have a better solution in place that has unblocked me (I no longer need to install the package via the Github URL), but I wanted to raise the discussion anyway in case this is unexpected behavior or something useful to have a workaround for.
Beta Was this translation helpful? Give feedback.
All reactions