-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Installed dependency could not be found in when built on Alpine Linux amd64 #13271
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Can you reproduce this without using |
By default, when building from source, pip does not build using your current environment, it creates a new isolated environment and uses the specified build dependencies. The error you got:
Makes sense, because you can not upload a dev version of a package PyPI. You have the following options:
|
Yes, it happens with FROM amd64/alpine:3.21
RUN apk update && apk add --no-cache python3 py3-pip cmake make gcc g++ git
RUN adduser --disabled-password piptest
USER piptest
WORKDIR /home/piptest
RUN git clone --recursive https://github.com/angr/pyvex \
&& git clone https://github.com/angr/claripy \
&& git clone https://github.com/angr/archinfo \
&& git clone https://github.com/angr/cle \
&& git clone https://github.com/angr/ailment \
&& git clone https://github.com/angr/angr
RUN (cd pyvex && git checkout f66825b4ff7c7a6343116b579f61fa538e4e33b9) \
&& (cd claripy && git checkout 589fbc0ee1fe0c4cea645592d295cf69cc82207f) \
&& (cd archinfo && git checkout 2683af884255f3593b134a0ddfadc4e2c7c1c35f) \
&& (cd cle && git checkout b0765b88dee76839bc7a230f878c4e4a2cc9fe9a) \
&& (cd ailment && git checkout 1602ffce331d6c43761c7e4ed73cc7b293b697af) \
&& (cd angr && git checkout 2dbb3df3bbb0f9aea10a699d3c7686ffb23fdffd)
RUN python3 -m venv testvenv && source testvenv/bin/activate && pip3 install --upgrade pip
RUN source testvenv/bin/activate && (cd pyvex && pip3 install .) \
&& (cd archinfo && pip3 install .) \
&& (cd cle && pip3 install .)
RUN source testvenv/bin/activate && pip3 list && pip3 show pyvex
RUN source testvenv/bin/activate && python3 --version && pip3 --version
RUN source testvenv/bin/activate && (cd ailment && pip3 install .) \
&& (cd angr && pip3 install .)
RUN source testvenv/bin/activate && pip3 list && pip3 show angr |
Unsuitable for me, due to the testing and development needs
I tried using with building wheels locally with
If I try this approach, using these lines:
then it can't find previously installed
|
Some options are or aren't passed to the isolated build environment, I would have assumed find-links is, but I've not looked at the code and there may be a reason if it's not. You can always set an environmental variable
As I said, when you use |
Description
When installing Angr from the sources on the Alpine Linux container I met this very weird bug, where one of the dependencies
pyvex
wasn't recognized bypip
despite it being installed and appearing in thepip3 list
andpip3 show
, the exact same version that is in Angr requirements.Expected behavior
pyvex
recognized as installed and the build ofangr
proceed normallypip version
pip 25.0.1 from /home/piptest/.local/lib/python3.12/site-packages/pip (python 3.12)
Python version
Python 3.12.9
OS
Alpine Linux 3.21 amd64
How to Reproduce
Create this Dockerfile:
Then build it with either
podman
ordocker
:docker build .
Output
At the same time,
pip3 show
andpip3 list
showpyvex
is installed and is of right version:Code of Conduct
The text was updated successfully, but these errors were encountered: