Thanks a lot ! You're right that adding nss-certs and curl to the environment solves the `pip install` error.

However I'm completely lost why it works manually inside
`guix shell -L . -C -D mypackage`

but not when I build the package
`guix build -L . mypackage`

wherever I put those dependencies in the copy-build-system, native-inputs or inputs, nss-certs and curl do not seem to be available in the install phase. Having checked the docs I don't think they should be missing in the install phase.

Alexis

On 12/10/2025 15:29, Rutherther wrote:

Hi Alexis,

Alexis Simon <[email protected]> writes:

line 81, in <module>
      _preloaded_ssl_context.load_verify_locations(
FileNotFoundError: [Errno 2] No such file or directory

This is caused by the fact that there is no ca-certificates available.
To make it available, use nss-certs and create env vars for pointing to
it properly (you can add curl to do that via its search paths)
So `guix shell -C python-pip nss-certs-curl` can be used. Then you might have
an error if something needs to be downloaded and for that you would have
to use --network. As long as you provide a cache, ie. by mounting your
home (or any folder with cache, as home), you can be fine without
internet if the package is available in the cache.

```

Whatever I try after pip install I get the same thing.
I don't understand if this is something that changed upstream in pip, or
if the pip version packaged in guix that is broken.
This seems to be linked to a networking issue, which is logic in a
container environment but it was working a few weeks ago.

I don't know, maybe the requests package somehow changed so that right
now it needs ca certificates file upon import. Maybe this wasn't the
case in the past.

Rutherther


Reply via email to